martastain

example-info HTML CG template

Jul 12th, 2021
1,499
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 3.56 KB | None | 0 0
  1. <!DOCTYPE html><html><head><meta charset="utf-8"><title></title><style>
  2.     *,*:after,*:before{box-sizing:inherit}html,body{background:transparent;box-sizing:border-box;overflow:hidden;font-smooth:always;-webkit-font-smoothing:antialiased}#debug-window{z-index:1000;position:absolute;left:10%;right:10%;bottom:10%;background-color:rgba(0,0,0,0.9)}#debug-window li{font-family:monospace;font-size:28px;color:#cccccc}
  3.  
  4.     #container{position:absolute;top:5%;bottom:5%;left:5%;right:5%;font-family:Roboto,Helvetica,Arial}#info-bar{position:absolute;top:0;left:0;display:flex;flex-direction:column}#info-bar div{display:flex;flex-direction:row;overflow:hidden}#info-bar div span{padding:6px 14px}#info-bar div#header{color:#f0f0f0;background-color:#c01010;z-index:500;font-size:24px;font-weight:300}#info-bar div#line1,#info-bar div#line2{background-color:rgba(240,240,240,0.8);font-family:Roboto,Helvetica,Arial;font-size:20px;font-weight:300}.visible{visibility:visible}.visible #header{transition:.6s;opacity:1}.visible #line1,.visible #line2{transition:.6s;transition-delay:.6s;opacity:1}.hidden{visibility:hidden}.hidden #header{transition:.6s;transition-delay:.6s;transform:translateX(-100px);opacity:0}.hidden #line1,.hidden #line2{transition:.6s;opacity:0;transform:translateY(-40px)}
  5.  
  6.     </style><script>
  7.         var param_map = {
  8.    'f0' : 'header',
  9.    'f1' : 'line1',
  10.    'f2' : 'line2',
  11.    'f3' : 'astra_category',
  12.    'f4' : 'astra_output',
  13.    'f5' : 'astra_layer',
  14. }
  15.     </script></head><body><ul id="debug-window"></ul><div id="container" class="hidden"><div id="info-bar"><div id="header"><span></span></div><div id="line1"><span></span></div><div id="line2"><span></span></div></div></div><script>
  16.     var debug=false;function log(s){console.log(s)
  17. if(debug){const li=document.createElement('li');li.innerText=s;dbg=document.getElementById("debug-window");dbg.appendChild(li);}}
  18. window.onerror=function(msg){log('error '+msg);}
  19. function parse_xml(xmlString){var parser=new DOMParser();var docError=parser.parseFromString('INVALID','text/xml');var parsererrorNS=docError.getElementsByTagName("parsererror")[0].namespaceURI;var doc=parser.parseFromString(xmlString,'text/xml');if(doc.getElementsByTagNameNS(parsererrorNS,'parsererror').length>0){throw new Error('Error parsing XML');}
  20. return doc;}
  21. function parse_params(str){var data={};try{data=JSON.parse(str)}catch(err){try{doc=parse_xml(str);var result={};var root_element=doc.documentElement;var children=root_element.childNodes;for(var i=0;i<children.length;i++){var child=children[i];var key=child.getAttribute("id");var data=child.getElementsByTagName("data")[0];var value=data.getAttribute("value");result[key]=value;}
  22. data=result}catch(xmlerr){data={}}}
  23. for(k in data){if(k in param_map){data[param_map[k]]=data[k]
  24. delete data[k]}}
  25. console.log(data)
  26. return data}
  27. function play(){}
  28. function stop(){}
  29. function next(){}
  30. function update(data){}
  31. var amcp_bridge_url="http://127.0.0.1:9731/amcp";function amcp(command){log("SENDING "+command)
  32. var xhr=new XMLHttpRequest()
  33. xhr.open('POST',amcp_bridge_url)
  34. xhr.responseType="text"
  35. xhr.send(command)
  36. xhr.onload=function(){};xhr.onerror=function(){log("Status:"+xhr.status+" : "+xhr.statusText)
  37. log(xhr.responseText)}}
  38.    function play(){document.getElementById("container").setAttribute("class","visible");}
  39. function stop(){document.getElementById("container").setAttribute("class","hidden");}
  40. function update(data){var params=parse_params(data);for(var field_name in params){document.getElementById(field_name).querySelector("span").innerText=params[field_name];}}
  41.    </script></body></html>
Advertisement
Add Comment
Please, Sign In to add comment