Youtube shuffle bitbucket.io helper

Adds a few features from youtube playlists to youtube-playlist-randomizer

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

You will need to install an extension such as Tampermonkey to install this script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name         Youtube shuffle bitbucket.io helper
// @namespace    https://youtube-playlist-randomizer.bitbucket.io/
// @version      1.4
// @description  Adds a few features from youtube playlists to youtube-playlist-randomizer
// @author       lopt24d
// @match        https://youtube-playlist-randomizer.bitbucket.io/*
// @grant        none
// ==/UserScript==


(function() {
      
  // Autostart bookmarked playlist
  var pid = new URL(window.location).searchParams.get("pid");
  if (pid != null) {
    document.getElementById("pid").value = pid;
    getVids();
  }
  
  var playerFound = false;
  
  var seekPlayer = setInterval(function () {
    if (player) {
      playerFound = true;
      clearInterval(seekPlayer);
    }
  }, 1000);
  
  var focus;
    
  window.addEventListener('keydown', function(event) {
    focus = document.activeElement.tagName;
    if (!(focus == "INPUT" || focus == "TEXTAREA") && playerFound) {
      switch (event.keyCode) {
        case ('N'.charCodeAt()):  // Next video
          playNext();
          break;
        case ('P'.charCodeAt()):  // Previous video
          playPrev();
          break;
        case ('R'.charCodeAt()):  // Reshuffle
          getVids();
          break;
        case ('H'.charCodeAt()):  // hide/show playlist
          document.getElementById("list").setAttribute("size", document.getElementById("list").getAttribute("size") ^ "10")
          break;
        case ('L'.charCodeAt()):  // seek forward 10 seconds
          player.seekTo(player.getCurrentTime() + 10);
          break;
        case ('J'.charCodeAt()):  // seek backwards 10 seconds
          player.seekTo(player.getCurrentTime() - 10);
          break;
        case ('K'.charCodeAt()):  // pause/unpause video
          if (player.getPlayerState() == 1)
            player.pauseVideo();
          else
            player.playVideo();
          break;
        case ('M'.charCodeAt()):  // mute/unmute video
          if (player.isMuted())
            player.unMute();
          else
            player.mute();
          break;
      }
    }
  });
  
})();