Files
whats-that-music/desktop-client/yt-scraper.js
T

29 lines
701 B
JavaScript
Raw Permalink Normal View History

const { ipcRenderer } = require('electron');
const { scrapeNowPlaying } = require('./now-playing');
const POLL_INTERVAL_MS = 3000;
let lastSent = null;
function changed(a, b) {
if (a === null && b === null) return false;
if (a === null || b === null) return true;
return (
a.title !== b.title ||
a.artist !== b.artist ||
a.albumArt !== b.albumArt ||
a.isPlaying !== b.isPlaying
);
}
function poll() {
const data = scrapeNowPlaying(document, navigator);
if (!changed(data, lastSent)) return;
lastSent = data;
ipcRenderer.send('wtm:state', data || { isPlaying: false });
}
setInterval(poll, POLL_INTERVAL_MS);
poll();
console.log('[wtm] yt-scraper preload loaded');