Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <!-- Max was here -->
- <head>
- <meta charset="utf-8">
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
- <style>
- @import 'https://fonts.googleapis.com/css?family=Fjalla+One';
- .ticker {
- padding: 10px;
- font-family: 'Fjalla ONe', 'Helvetica', sans-serif;
- transition: opacity 1s;
- -webkit-transition: opacity 1s;
- /* Safari */
- opacity:1;
- width: auto;
- color: white;
- text-shadow: 0px 0 10px black, 0 0px 0px black, 0px 0 0px black, 0 0px 10px black;
- font-size: 40px;
- /* Font size. */
- text-align: right;
- /* text-transform: uppercase; */
- }
- .fade {
- opacity:0;
- }
- </style>
- </head>
- <body>
- <div class='ticker' id='song'></div>
- <script>
- var httpRequest;
- var showFor = 12; // Seconds
- var fadeLength = 1 // Seconds
- var updateInterval = 3; // Seconds
- var currentSong;
- var songElem = document.getElementById('song');
- function makeRequest(url) {
- httpRequest = new XMLHttpRequest();
- if(!httpRequest) {
- songElem.innerText = 'Something went wrong :(';
- alert('Kan geen request maken');
- return false;
- }
- httpRequest.onreadystatechange = stateChange;
- try {
- httpRequest.open('GET', url);
- //httpRequest.setRequestHeader("Authorization", "Basic " + btoa(":" + vlcPassword));
- httpRequest.send();
- }
- catch(e) {
- alert(e);
- }
- }
- function stateChange() {
- if(httpRequest.readyState === XMLHttpRequest.DONE) {
- if(httpRequest.status === 200) {
- //songElem.innerText = httpRequest.responseXML;
- setTimeout(doRequest, updateInterval*1000);
- updateInfoPlain(httpRequest.responseText);
- /*try {
- var xml = httpRequest.responseXML;
- var i = xml.getElementsByTagName("information");
- if(i.length > 0) {
- var c = i[0].getElementsByTagName("category");
- for (var iC = 0; iC < c.length; iC++) {
- if(c.item(iC).getAttribute("name") == 'meta') {
- var metaItem = c.item(iC);
- var meta = {};
- var metaItems = metaItem.getElementsByTagName("info");
- for(var mI = 0; mI < metaItems.length; mI++) {
- meta[metaItems.item(mI).getAttribute("name")] = metaItems.item(mI).innerHTML;
- }
- console.log(meta);
- updateInfo(meta);
- break;
- }
- }
- }
- } catch (e) {
- console.log(e);
- }*/
- //console.log(xml.getElementsByTagName("information"));
- }
- else {
- //alert(httpRequest.status);
- //songElem.innerText = httpRequest.status;
- }
- }
- }
- /*
- function updateInfo(m) {
- if(currentSong == m.title) return;
- currentSong = m.title;
- var t = m.title + " – " + m.artist
- document.getElementById("song").innerHTML = t;
- document.getElementById("song").style.opacity = 1;
- setTimeout(function() {
- document.getElementById("song").style.opacity = 0;
- }, showFor * 1000);
- }*/
- var visibilityTimer;
- var fadeoutTimer;
- var visible = true;
- function updateInfoPlain(s) {
- if(currentSong === s) return;
- currentSong = s;
- if(visible) {
- clearTimeout(visibilityTimer);
- songElem.classList.add("fade"); //hide
- setTimeout(function() { //(after hidden:)
- songElem.innerText = currentSong; //change song
- songElem.classList.remove("fade"); //show again
- }, fadeLength * 1000);
- //set visibility timer
- startVisibilityTimer();
- }
- else { //(already hidden)
- songElem.innerText = currentSong; //change song
- songElem.classList.remove("fade"); //show
- visible = true;
- startVisibilityTimer();
- }
- }
- function startVisibilityTimer() {
- visibilityTimer = setTimeout(function() {
- songElem.classList.add("fade");
- visible = false;
- }, showFor * 1000 + fadeLength * 1000 * 2);
- }
- function doRequest() {
- makeRequest('URL FOR TXT FILE (Might have to be a web-based file now, since HTML is super finnicky w/ TXT file reading');
- }
- doRequest();
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement