Skip to content

Instantly share code, notes, and snippets.

@getdave
Last active February 19, 2019 10:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save getdave/2a7e7e6191084b79d435a9479a89972c to your computer and use it in GitHub Desktop.
Save getdave/2a7e7e6191084b79d435a9479a89972c to your computer and use it in GitHub Desktop.
YouTube Pomodoro Timer - starts a timer and stops running <video> when completes. Your very own simple Pomodoro for YouTube (or <video> service)
(function() {
let _takingTooLongTimeout;
const alarmSound = new Audio("https://archive.org/download/alarm_162/alarm.ogg");
const startVideo = () => {
document.querySelector("video").play();
};
const stopVideo = () => {
document.querySelector("video").pause();
alarmSound.play();
};
const startPom = () => {
const total = 1000 * 60;
alarmSound.pause();
clearTimeout(_takingTooLongTimeout);
let timeout = window.prompt("How long would you like to run in minutes? (default: 25)", 25);
timeout = parseInt(timeout, 10);
startVideo();
_takingTooLongTimeout = setTimeout(stopVideo, timeout * total);
};
startPom();
})();
javascript:(function()%7B(function()%20%7Blet%20_takingTooLongTimeout%3Bconst%20alarmSound%20%3D%20new%20Audio(%22https%3A%2F%2Farchive.org%2Fdownload%2Falarm_162%2Falarm.ogg%22)%3Bconst%20startVideo%20%3D%20()%20%3D%3E%20%7Bdocument.querySelector(%22video%22).play()%3B%7D%3Bconst%20stopVideo%20%3D%20()%20%3D%3E%20%7Bdocument.querySelector(%22video%22).pause()%3BalarmSound.play()%3B%7D%3Bconst%20startPom%20%3D%20()%20%3D%3E%20%7Bconst%20total%20%3D%201000%20*%2060%3BalarmSound.pause()%3BclearTimeout(_takingTooLongTimeout)%3Blet%20timeout%20%3D%20window.prompt(%22How%20long%20would%20you%20like%20to%20run%20in%20minutes%3F%20(default%3A%2025)%22%2C%2025)%3Btimeout%20%3D%20parseInt(timeout%2C%2010)%3BstartVideo()%3B_takingTooLongTimeout%20%3D%20setTimeout(stopVideo%2C%20timeout%20*%20total)%3B%7D%3BstartPom()%3B%7D)()%7D)()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment