NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name Soundy
// @namespace http://www.alexdresko.com/
// @version 0.2
// @description Plays some kind of noise whenever a matched page finishes loading
// @match https://localhost:44352//*
// @match https://gist.github.com/*
// @copyright 2014+, Alex Dresko
// ==/UserScript==
var beep = (function () {
var ctx = new(window.audioContext || window.webkitAudioContext);
return function (duration, type, finishedCallback) {
duration = +duration;
// Only 0-4 are valid types.
type = (type % 5) || 0;
if (typeof finishedCallback != "function") {
finishedCallback = function () {};
}
var osc = ctx.createOscillator();
osc.type = type;
osc.connect(ctx.destination);
osc.noteOn(0);
setTimeout(function () {
osc.noteOff(0);
finishedCallback();
}, duration);
};
})();
setTimeout(function(){beep()},1000);