const { ipcRenderer } = require('electron'); const is = require('electron-is'); let currentSegments = []; module.exports = () => { ipcRenderer.on('sponsorblock-skip', (_, segments) => { currentSegments = segments; }); document.addEventListener('apiLoaded', () => { const video = document.querySelector('video'); video.addEventListener('timeupdate', (e) => { for (const segment of currentSegments) { if ( e.target.currentTime >= segment[0] && e.target.currentTime < segment[1] ) { e.target.currentTime = segment[1]; if (is.dev()) { console.log('SponsorBlock: skipping segment', segment); } } } }); // Reset segments on song end video.addEventListener('emptied', () => currentSegments = []); }, { once: true, passive: true }); };