NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name Playback Rate for Radiocut
// @namespace https://openuserjs.org/users/nachokb
// @version 0.1
// @description adds a slider for changing playback rate to radiocut.fm
// @author Ignacio Carrera <ignacio@carrera.com.ar>
// @copyright 2019, nachokb (https://openuserjs.org/users/nachokb)
// @match http*://radiocut.fm/*
// @grant none
// @license MIT
// ==/UserScript==
(function () {
'use strict';
var slider = document.createElement('input');
slider.setAttribute('type', 'range');
slider.setAttribute('id', 'playback_rate');
slider.setAttribute('min', '0.5');
slider.setAttribute('max', '2.0');
slider.setAttribute('step', '0.25');
slider.setAttribute('value', '1.25');
var mute_btn = document.querySelector('.btn.mute');
mute_btn.parentElement.insertBefore(slider, mute_btn);
var label = document.createElement('span');
label.setAttribute('id', 'playback_rate_label');
slider.parentElement.insertBefore(label, slider);
var keep_rate = function () {
var input = document.getElementById('playback_rate');
var label = document.getElementById('playback_rate_label');
var rate = input.value;
label.textContent = rate;
document.
querySelectorAll('audio').
forEach(function (elem) {
elem.playbackRate = rate
});
}
window.playback_rate_timer = setInterval(keep_rate, 1000);
})();