From 013042b44c3de03419e56676154f8631fd8c39c2 Mon Sep 17 00:00:00 2001 From: akstasy Date: Sat, 11 Apr 2026 22:10:49 +0000 Subject: [PATCH] add PlayBackShortcuts.plugin.js --- PlayBackShortcuts.plugin.js | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 PlayBackShortcuts.plugin.js diff --git a/PlayBackShortcuts.plugin.js b/PlayBackShortcuts.plugin.js new file mode 100644 index 0000000..e5fc451 --- /dev/null +++ b/PlayBackShortcuts.plugin.js @@ -0,0 +1,38 @@ +/** + * @name PlayBackShortcuts + * @description Adds hotkeys for changing playback speed. "{" (To decrease playback speed) and "}" (To increase playback speed). + * @updateUrl https://git.ofoxer.com/akstasy/stremio-playback-shortcuts/raw/branch/main/PlayBackShortcuts.plugin.js + * @version 1.0.0 + * @author akstasy + */ + +window.addEventListener('popstate', () => { + let playbackSpeedMenu = document.getElementById("playbackSpeedMenu") + if(!playbackSpeedMenu) return; + + let scope = angular.element(playbackSpeedMenu).scope(); + let availableRates = scope.rates; + + document.addEventListener("keyup", (e) => { + if(e.key === '{') { + let currentRate = scope.currentRate; + let index = availableRates.indexOf(currentRate); + + if((availableRates.length - 1) != index) { + let newPlaybackSpeed = scope.rates[index + 1]; + console.log(`[ PlayBackShortcuts ] Decreasing playback speed to ${newPlaybackSpeed}`) + scope.changeSpeed(newPlaybackSpeed); + } + } else if(e.key === '}') { + let currentRate = scope.currentRate; + let index = availableRates.indexOf(currentRate); + + if(availableRates[0] != currentRate) { + let newPlaybackSpeed = scope.rates[index - 1]; + console.log(`[ PlayBackShortcuts ] Increasing playback speed to ${newPlaybackSpeed}`); + + scope.changeSpeed(scope.rates[index - 1]); + } + } + }) +}); \ No newline at end of file