/* global radiomanifest */ // const radiomanifest = require('radiomanifest.js') function updateNow(radio) { var box = document.querySelector("#now-info"); const show = radio.getSchedule().getNowShow(); var showText; try { showText = show.getName() + "\nfeed: " + show.getWebsite(); } catch (e) { showText = String(show); } var text = radio.getName() + " - " + radio.getDescription() + " -- " + showText; box.textContent = text; } async function fai() { const radio = await radiomanifest.get( "https://radiomanifest.degenerazione.xyz/v0.2/examples/full-ondarossa", ); console.log("radio?", radio); const s = radio.getStreaming(); console.log(s.sources); console.log(s.getOptions()); console.log(s.getSource(s.getOptions()[0])); console.log(s.getSource()); var audioEl = document.querySelector("#player audio"); var urls = await s.pickURLs(); console.log("audios", urls); urls.forEach(function (url) { var srcEl = document.createElement("source"); srcEl.setAttribute("src", url); console.log("src", srcEl, url); audioEl.appendChild(srcEl); }); const showList = document.querySelector("#shows > ul"); for (const show of radio.getShows()) { const item = document.createElement("li"); const link = document.createElement("a"); link.dataset["show"] = show.getName(); link.textContent = show.getName(); link.setAttribute("href", show.getWebsite()); item.appendChild(link); showList.appendChild(item); } showList.addEventListener( "mouseenter", function (evt) { if (evt.target.dataset["show"] === undefined) return; const info = document.querySelector("#show-info"); info.textContent = radio .getShowByName(evt.target.dataset["show"]) .getFeed(); }, true, ); updateNow(radio); console.log(radio.getSchedule()); setInterval(function () { updateNow(radio); }, 2000); } fai();