function syntaxHighlight(json){if(typeof json!='string'){json=JSON.stringify(json,undefined,2)}
json=json.replace(/&/g,'&').replace(//g,'>');return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g,function(match){var cls='number';if(/^"/.test(match)){if(/:$/.test(match)){cls='key'}else{cls='string'}}else if(/true|false/.test(match)){cls='boolean'}else if(/null/.test(match)){cls='null'}
return''+match+''})}
function mydump(arr,level){var dumped_text="";if(!level)level=0;var level_padding="";for(var j=0;j \""+value+"\"\n"}}}else{dumped_text="===>"+arr+"<===("+typeof(arr)+")"}
return dumped_text}
function fullScreen(elemId){var elem=document.getElementById(elemId);if(elem.requestFullscreen){elem.requestFullscreen()}else if(elem.mozRequestFullScreen){elem.mozRequestFullScreen()}else if(elem.msRequestFullscreen){elem.msRequestFullscreen()}else if(elem.webkitRequestFullScreen){elem.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}}
window.requestAnimFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback,element){window.setTimeout(callback,1000/60)}})();function isScreenLockSupported(){return('wakeLock' in navigator)}
let screenLock;async function lockMobileScreen(){if(isScreenLockSupported()){try{screenLock=await navigator.wakeLock.request('screen')}catch(err){console.log(err.name,err.message)}
return screenLock}}
function releaseMobileScreen(){if((typeof screenLock!=='undefined')){console.log(screenLock);screenLock.release()}}
document.onkeydown=checkKey;function checkKey(e){e=e||window.event;if(e.keyCode=='32'){releaseMobileScreen();document.exitFullscreen()}}
$(document).on({ajaxStart:function(e){$("#overlayloading").fadeIn(200)},ajaxStop:function(e){$("#overlayloading").fadeOut(200)}});$(window).on("resize",function(){var screenWidth=$(".zone_contener").width();xtrInfo.isMobile=(screenWidth<=748?1:0);if(!xtrInfo.isMobile){$("#desktopNav").show()}else{$("#desktopNav").hide()}});$(document).on("click",".demo_mode",function(e){xtrInfo.demoMode=1;e.preventDefault();e.stopPropagation();lockMobileScreen();$("#mainContent, #wwwcredit").fadeOut("slow");if(!$("#playMusicOn").is(":visible")){$("#playMusicOff").trigger("click")}
fullScreen("tofs")});$(document).on("click",".lnk",function(e){e.preventDefault();e.stopPropagation();var slug=$(this).attr('href');history.pushState({path:this.path},'',$(this).attr('href'));if($(e.target).hasClass('btn2')){if($("#mobileNav").is(":visible")==!0){if($("#desktopNav").is(":visible")==!0)$("#desktopNav").slideToggle();}}
loadPageContent(slug)});$(document).on("click","DIV[divlink]",function(e){e.preventDefault();e.stopPropagation();var slug=$(this).attr('divlink');history.pushState({path:this.path},'',$(this).attr('divlink'));loadPageContent(slug)});function loadPageContent(slug){$("body").attr('nbPan',0);$(".zone_contener").removeClass('blur');$("#mainContent").fadeOut("fast",function(){$.ajax({method:"POST",dataType:"json",url:"/_loadarticle.php",data:{"slug":slug}}).done(function(retour){console.log(retour);$(".panWrapper").remove();$("#mainContent").html(retour.content).fadeIn("fast");$("TITLE").text(retour.title);onYouTubeIframeAPIReady();$(".pan").pan();if(retour.script)eval(retour.script);})})}
$(document).on("click",".copycode",function(e){myelm=$(this);$(myelm).addClass("copied")
$(this).closest("PRE").animate({backgroundColor:'rgba(200,200,200,0.7)'},300,function(){$(this).animate({backgroundColor:'rgba(40, 40, 40, 0.7)'},300);$(myelm).removeClass("copied")});var text2copy=$(this).parent().text().trim();navigator.clipboard.writeText(text2copy)});window.addEventListener('popstate',function(event){var slug=location.href.replace(xtrInfo.domain,'');loadPageContent(slug)});var playerYT;function pauseYT(){if(playerYT&&playerYT.hasOwnProperty('pauseVideo')){if(playerYT.getPlayerState()==YT.PlayerState.PLAYING){playerYT.pauseVideo()}}}
function onYouTubeIframeAPIReady(){playerYT=new YT.Player('ytplayer',{events:{'onReady':onPlayerReady,'onStateChange':onPlayerStateChange}})}
function onPlayerReady(event){}
function onPlayerStateChange(event){if(event.data==YT.PlayerState.PLAYING){if($("#playMusicOn").is(":visible")){$("#playMusicOn").trigger("click")}}
if(event.data==YT.PlayerState.PAUSED){if($("#pauseMusicOn").is(":visible")){$("#pauseMusicOn").trigger("click")}}}
navigator.mediaSession.metadata=new MediaMetadata({title:"none",artist:"none",album:"XTR Amiga Modules",artwork:[{src:"/gfx/covers/96.png",sizes:"96x96",type:"image/png"},{src:"/gfx/covers/128.png",sizes:"128x128",type:"image/png"},{src:"/gfx/covers/192.png",sizes:"192x192",type:"image/png"},{src:"/gfx/covers/256.png",sizes:"256x256",type:"image/png"},{src:"/gfx/covers/384.png",sizes:"384x384",type:"image/png"},{src:"/gfx/covers/512.png",sizes:"512x512",type:"image/png"},],});navigator.mediaSession.setActionHandler("play",()=>{console.log("play");if($("#playMusicOn").is(":visible")){$("#playMusicOn").trigger("click")}else{$("#playMusicOff").trigger("click")}});navigator.mediaSession.setActionHandler("pause",()=>{console.log("pause")});navigator.mediaSession.setActionHandler("stop",()=>{console.log("stop")});navigator.mediaSession.setActionHandler("previoustrack",()=>{console.log("previoustrack");$("#prevMusic").trigger("click")});navigator.mediaSession.setActionHandler("nexttrack",()=>{console.log("nexttrack");$("#nextMusic").trigger("click")});navigator.mediaSession.setActionHandler("seekbackward",()=>{alert('seekbackward')});navigator.mediaSession.setActionHandler("seekforward",()=>{alert('seekforward')});navigator.mediaSession.setActionHandler("seekto",(details)=>{xtrInfo.musicPlayer.seek(details.seekTime)});var playlist=[{"artist":"Ghent","file":"/mod/ATRIER/ghent - rse chiptune.med"},{"artist":"CLAWZ","file":"/mod/ATRIER/CLAWZ - crazyegg.MOD"},{"artist":"TDK","file":"/mod/TDK - maintheme3.mod"},{"artist":"Double Trouble","file":"/mod/Double Trouble - dt-funky-sr.mod"},{"artist":"Clawz","file":"/mod/clawz_violence.mod"},{"artist":"Random voice","file":"/mod/monday.mod"},{"artist":"Jogeir","file":"/mod/physical presence.mod"},{"artist":"Kevin Schilder / Raven Software","file":"/mod/Black Crypt - Intro.med"},{"artist":"Jester","file":"/mod/ELYSIUM.MOD"},{"artist":"Gruby","file":"/mod/setrox-dance.mod"},{"artist":"Zorglub","file":"/mod/silent lucidity.mod"},{"artist":"Dunhill","file":"/mod/digital.mod"},{"artist":"Superbee & Monty","file":"/mod/komeplipop 4 06.mod"},{"artist":"Vandal & Static","file":"/mod/coma.mod"},{"artist":"Vandal & Static","file":"/mod/coma end.mod"},{"artist":"4mat","file":"/mod/starworx_v2.mod"},{"artist":"Jester","file":"/mod/harm me with harmony.mod"},{"artist":"dr.awesome","file":"/mod/space_deliria.mod"},{"artist":"1","file":"/mod/lady fantasy.mod"},{"artist":"2","file":"/mod/lasermix.mod"},{"artist":"3","file":"/mod/litigant.mod"},{"artist":"4","file":"/mod/magic walk.mod"},{"artist":"5","file":"/mod/summer harmony.mod"},{"artist":"6","file":"/mod/you and me.mod"},{"artist":"7","file":"/mod/das omen.mod"},{"artist":"8","file":"/mod/animated_lines_99.mod"},];function initMusic(){if(xtrInfo.musicPlayer==undefined){xtrInfo.musicPlayer=new ChiptuneJsPlayer(new ChiptuneJsConfig(0));document.getElementById("fakeaudio").play();document.getElementById("fakeaudio").pause();xtrInfo.musicPlayer.onEnded(function(e){$("#nextMusic").trigger("click")})}else{xtrInfo.musicPlayer.stop();xtrInfo.musicPlayer.togglePause()}}
$("#nextMusic").on("click",function(e){e.preventDefault();xtrInfo.musicPlayerReady=0;$("#playMusicOff").hide();$("#playMusicOn").show();$("#pauseMusicOff").show();$("#pauseMusicOn").hide();$("#stopMusicOn").hide();$("#stopMusicOff").show();xtrInfo.playlistIndex++;if(xtrInfo.playlistIndex>=playlist.length)xtrInfo.playlistIndex=0;let modurl=playlist[xtrInfo.playlistIndex].file;loadModUrl(modurl)});$("#prevMusic").on("click",function(e){e.preventDefault();xtrInfo.musicPlayerReady=0;$("#playMusicOff").hide();$("#playMusicOn").show();$("#pauseMusicOff").show();$("#pauseMusicOn").hide();$("#stopMusicOn").hide();$("#stopMusicOff").show();xtrInfo.playlistIndex--;if(xtrInfo.playlistIndex<0)xtrInfo.playlistIndex=playlist.length-1;let modurl=playlist[xtrInfo.playlistIndex].file;loadModUrl(modurl)});$("#playMusicOff").on("click",function(e){e.preventDefault();$(this).hide();$("#playMusicOn").show();$("#pauseMusicOff").show();$("#pauseMusicOn").hide();$("#stopMusicOn").hide();$("#stopMusicOff").show();if(xtrInfo.musicPlayer==undefined){let modurl=playlist[xtrInfo.playlistIndex].file;loadModUrl(modurl)}else{if(!xtrInfo.musicPlayerReady){let modurl=playlist[xtrInfo.playlistIndex].file;loadModUrl(modurl)}else{pauseYT();xtrInfo.musicPlayer.togglePause()}}});$("#playMusicOn").on("click",function(e){e.preventDefault();$(this).hide();$("#playMusicOff").show();$("#pauseMusicOff").hide();$("#pauseMusicOn").show();if(xtrInfo.musicPlayer!=undefined){xtrInfo.musicPlayer.togglePause()}});$("#pauseMusicOff").on("click",function(e){e.preventDefault();if(!xtrInfo.musicPlayerReady)return;$(this).hide();$("#playMusicOff").show();$("#playMusicOn").hide();$("#pauseMusicOn").show();xtrInfo.musicPlayer.togglePause()});$("#pauseMusicOn").on("click",function(e){e.preventDefault();$(this).hide();$("#pauseMusicOff").show();$("#playMusicOff").hide();$("#playMusicOn").show();xtrInfo.musicPlayer.togglePause();pauseYT()});$("#stopMusicOff").on("click",function(e){e.preventDefault();$(this).hide();$("#pauseMusicOn").hide();$("#pauseMusicOff").show();$("#playMusicOff").show();$("#playMusicOn").hide();$("#stopMusicOn").show();$(".modinfo").html("- nO mUSiC ! -");$(".modinfo2").html(" ");xtrInfo.musicPlayerReady=0;xtrInfo.musicPlayer.stop()});$("#stopMusicOn").on("click",function(e){e.preventDefault()});function loadModUrl(path){initMusic();xtrInfo.musicPlayer.load(path,afterLoad.bind(this,path));pauseYT()}
function afterLoad(path,buffer){xtrInfo.musicPlayer.play(buffer);setMetadata(path);xtrInfo.musicPlayerReady=1}
function setMetadata(filename){let metadata=xtrInfo.musicPlayer.metadata();if(metadata.title!=''){$(".modinfo").html("🎧 "+playlist[xtrInfo.playlistIndex].artist+" - "+metadata.title)}else{$(".modinfo").html("🎧 "+playlist[xtrInfo.playlistIndex].artist+" - "+filename)}
navigator.mediaSession.metadata.title=metadata.title;navigator.mediaSession.metadata.artist=playlist[xtrInfo.playlistIndex].artist;var elapsedTime=parseInt(xtrInfo.musicPlayer.getCurrentTime());var duration=parseInt(xtrInfo.musicPlayer.duration());navigator.mediaSession.setPositionState({duration:duration,playbackRate:1,position:elapsedTime,})}
function equalizer(){xtrInfo.equalizerFrame++;if(xtrInfo.equalizerFrame==5){xtrInfo.equalizerFrame=0;if(xtrInfo.musicPlayerReady&&xtrInfo.musicPlayer!=undefined){let nbChans=xtrInfo.musicPlayer.getNumChannels();if(nbChans!=$('DIV.bar').length){console.log("Change equalizer nb chans("+nbChans+")");$(".equalizer-container").html("");for(let chan=0;chan"))}}
for(let chan=0;chan"+minutes+" : "+extraSeconds+" / "+minutes2+" : "+extraSeconds2)}}}
$("#mobileNav a").on("click",function(){if($("#mobileNav").is(":visible")==!0){if($("#desktopNav").is(":visible")==!1)$("#desktopNav").slideToggle();}});$(document).mouseup(function(e){var container=$("#desktopNav");if(!container.is(e.target)&&container.has(e.target).length===0){if($("#mobileNav").is(":visible")==!0){if($("#desktopNav").is(":visible")==!0)$("#desktopNav").slideToggle();}}});libopenmpt.onRuntimeInitialized=function(){}