function liveplayer (elt, iframe) { var last_timestamp, DELAY_TIME_SECS = 5, originalsrc= iframe ? iframe.src : ''; async function poll () { console.log("poll"); var rows = await (await fetch("/cgi-bin/radioimplicancies.cgi")).json(); // console.log("rows", rows); if (rows) { // get the last (most recent) item var d = rows[rows.length-1]; if (d.time && d.time != last_timestamp) { last_timestamp = d.time; console.log("liveplayer: current metadata", d); window.setTimeout(function () { var old_nowplaying = elt.querySelector(".now_playing"); if (old_nowplaying) { old_nowplaying.classList.remove("now_playing"); } var nowplaying = elt.querySelector("#"+d.title); if (nowplaying) { console.log("liveplayer: nowplaying", nowplaying); nowplaying.classList.add("now_playing"); } else { console.log("liveplayer: warning no div matching title " + d.title); } console.log("****", iframe, d.artist); if (iframe&&d.artist){ if (d.artist.endsWith(".jpg") || d.artist.endsWith(".png")) { console.log("IMAGE", d.artist); // iframe.style.backgroundImage = "url("+d.artist+")"; // iframe.src = "blank.html"; iframe.src = d.artist; } else { console.log("OTHER URL"); iframe.src = d.artist; } } else if (iframe) { iframe.src = originalsrc; } }, DELAY_TIME_SECS*1000); } window.setTimeout(poll, 10000); } else { window.setTimeout(poll, 20000); } } window.setTimeout(poll, 0); }