~hristoast/mousikofidi

fbad2dc56d3cb3a10209865fda2a8135ff9f0d19 — Hristos N. Triantafillou 9 months ago b90b416
Display the now playing track title for videos (#63)
M mousikofidi/static/js/player.js => mousikofidi/static/js/player.js +44 -16
@@ 18,6 18,7 @@

var audio = document.getElementById("audio");
var audioNowPlayingTextP = document.getElementById("now-playing");
var videoNowPlayingTextP = document.getElementById("video-now-playing");
var nowPlayingNumDiv = document.getElementById("now-playing-num");
var audioPlaybackEndedDiv = document.getElementById("audio-playback-ended");
var videoPlaybackEndedDiv = document.getElementById("video-playback-ended");


@@ 25,6 26,7 @@ var videoNowPlayingNumDiv = document.getElementById("video-now-playing-num");
var pageTitle = document.getElementById("title");
var playArrows = document.getElementsByClassName("play-arrow");
var playingTitleSpan = document.getElementById("playing-title");
var videoPlayingTitleSpan = document.getElementById("video-playing-title");
var playlist = document.getElementById("playlist");
if (playlist)
    var tracks = playlist.getElementsByClassName("title");


@@ 116,6 118,7 @@ function playVideo(targetArrow, dontPlay) {
        video.play();
    }
    videoNowPlayingNumDiv.setAttribute("data-nowplaying-num", thisTrackNum);
    videoPlayingTitleSpan.textContent = title;

    if ((shuffle === "on") || (shuffleMobile === "on")) {
        setRandomOrder("video");


@@ 417,39 420,57 @@ function toggleShuffleVideoListener() {
    toggleShuffle(this, "video");
}

function paused(_, event) {
    var nowPlayingTrackNum = nowPlayingNumDiv.getAttribute("data-nowplaying-num");
    var playingText = playArrows[nowPlayingTrackNum].getAttribute("data-title");
    var siteName = pageTitle.getAttribute("data-sitename");
function paused(_, event, trackType) {
    if (trackType === "audio") {
        var nowPlayingTextP = audioNowPlayingTextP;
        var nowPlayingTrackNum = nowPlayingNumDiv.getAttribute("data-nowplaying-num");
        var playingText = playArrows[nowPlayingTrackNum].getAttribute("data-title");
        var siteName = pageTitle.getAttribute("data-sitename");

    } else if (trackType === "video") {
        var nowPlayingTextP = videoNowPlayingTextP;
        var nowPlayingTrackNum = videoNowPlayingNumDiv.getAttribute("data-nowplaying-num");
        var playingText = videoArrows[nowPlayingTrackNum].getAttribute("data-title");
    }

    if (event === "playing") {
        pageTitle.textContent = "Now Playing: " + playingText + " | " + siteName;
        if (trackType === "audio")
            pageTitle.textContent = "Now Playing: " + playingText + " | " + siteName;

        audioNowPlayingTextP.textContent = "Now Playing: ";
        nowPlayingTextP.textContent = "Now Playing: ";

        // The inner span gets wiped out when the outer p's text is set.  Recreate and set it.
        audioNowPlayingTextP.appendChild(document.createElement("span"));
        audioNowPlayingTextP.childNodes[1].style.fontWeight = "bold";
        audioNowPlayingTextP.childNodes[1].textContent = playingText;
        nowPlayingTextP.appendChild(document.createElement("span"));
        nowPlayingTextP.childNodes[1].style.fontWeight = "bold";
        nowPlayingTextP.childNodes[1].textContent = playingText;

    } else if (event === "paused") {
        pageTitle.textContent = "Paused: " + playingText + " | " + siteName;
        if (trackType === "audio")
            pageTitle.textContent = "Paused: " + playingText + " | " + siteName;

        audioNowPlayingTextP.textContent = "Paused: ";
        nowPlayingTextP.textContent = "Paused: ";

        // The inner span gets wiped out when the outer p's text is set.  Recreate and set it.
        audioNowPlayingTextP.appendChild(document.createElement("span"));
        audioNowPlayingTextP.childNodes[1].style.fontWeight = "bold";
        audioNowPlayingTextP.childNodes[1].textContent = playingText;
        nowPlayingTextP.appendChild(document.createElement("span"));
        nowPlayingTextP.childNodes[1].style.fontWeight = "bold";
        nowPlayingTextP.childNodes[1].textContent = playingText;
    }
}

function playingAudioHandler() {
    paused(this, "playing");
    paused(this, "playing", "audio");
}

function pausedAudioHandler() {
    paused(this, "paused");
    paused(this, "paused", "audio");
}

function playingVideoHandler() {
    paused(this, "playing", "video");
}

function pausedVideoHandler() {
    paused(this, "paused", "video");
}

function giveLink(playerType) {


@@ 612,9 633,16 @@ function setUp() {
        }
    }

    if (videoArrows.length > 0) {
        var videoPlayingText = videoArrows[0].getAttribute("data-title");
    }

    if (video) {
        video.src = videoArrows[currentTrack].getAttribute("data-browse").replace("browse", "serve");
        videoPlayingTitleSpan.textContent = videoPlayingText;
        video.addEventListener('ended', endedVideoListener);
        video.addEventListener("playing", playingVideoHandler);
        video.addEventListener("pause", pausedVideoHandler);

        // Set listeners on player control buttons
        videoPrevBtn.addEventListener("click", skipVideoListener);

M mousikofidi/static/js/player.min.js => mousikofidi/static/js/player.min.js +1 -1
@@ 1,1 1,1 @@
var audio=document.getElementById("audio");var audioNowPlayingTextP=document.getElementById("now-playing");var nowPlayingNumDiv=document.getElementById("now-playing-num");var audioPlaybackEndedDiv=document.getElementById("audio-playback-ended");var videoPlaybackEndedDiv=document.getElementById("video-playback-ended");var videoNowPlayingNumDiv=document.getElementById("video-now-playing-num");var pageTitle=document.getElementById("title");var playArrows=document.getElementsByClassName("play-arrow");var playingTitleSpan=document.getElementById("playing-title");var playlist=document.getElementById("playlist");if(playlist){var tracks=playlist.getElementsByClassName("title")}var video=document.getElementById("video");var videoArrows=document.getElementsByClassName("video-arrow");var videoPlaylist=document.getElementById("video-playlist");if(videoPlaylist){var videoTracks=videoPlaylist.getElementsByClassName("video-title")}else{if(playlist){var videoTracks=playlist.getElementsByClassName("video-title")}}var prevBtn=document.getElementById("prev");var nextBtn=document.getElementById("next");var repeatBtn=document.getElementById("repeat");var shuffleBtn=document.getElementById("shuffle");var prevBtnMobile=document.getElementById("mobile-prev");var nextBtnMobile=document.getElementById("mobile-next");var repeatBtnMobile=document.getElementById("mobile-repeat");var shuffleBtnMobile=document.getElementById("mobile-shuffle");var randomOrderHolder=document.getElementById("randorder");var videoPrevBtn=document.getElementById("vid-prev");var videoNextBtn=document.getElementById("vid-next");var videoRepeatBtn=document.getElementById("vid-repeat");var videoShuffleBtn=document.getElementById("vid-shuffle");var videoPrevBtnMobile=document.getElementById("mobile-vid-prev");var videoNextBtnMobile=document.getElementById("mobile-vid-next");var videoRepeatBtnMobile=document.getElementById("mobile-vid-repeat");var videoShuffleBtnMobile=document.getElementById("mobile-vid-shuffle");var videoRandomOrderHolder=document.getElementById("vid-randorder");var params=new URLSearchParams(window.location.search);var single=document.getElementById("single");var singleLinkButton=document.getElementById("time-link");var audioLinkButton=document.getElementById("audio-time-link");var videoLinkButton=document.getElementById("video-time-link");function playAudio(a,b){if(a){var f=a.getAttribute("data-browse")}else{return false}var k=f.replace("browse","serve");var e=pageTitle.getAttribute("data-sitename");var j=a.getAttribute("data-num");var g=a.getAttribute("data-title");var h="Now Playing: "+g+" | "+e;var d=shuffleBtn.getAttribute("data-stat");var i=shuffleBtnMobile.getAttribute("data-stat");if(audio.src.endsWith(k)!==true){audio.src=k}if(typeof b==="undefined"){audio.play()}nowPlayingNumDiv.setAttribute("data-nowplaying-num",j);playingTitleSpan.textContent=g;pageTitle.textContent=h;if((d==="on")||(i==="on")){setRandomOrder("audio")}}function playAudioClickListener(){audioPlaybackEndedDiv.setAttribute("data-playback-ended","false");playAudio(this)}function playVideo(g,a){if(g){var f=g.getAttribute("data-browse")}else{return false}var h=f.replace("browse","serve");var e=videoShuffleBtn.getAttribute("data-stat");var d=videoShuffleBtnMobile.getAttribute("data-stat");var b=g.getAttribute("data-num");if(typeof a==="undefined"){video.src=h;video.play()}videoNowPlayingNumDiv.setAttribute("data-nowplaying-num",b);if((e==="on")||(d==="on")){setRandomOrder("video")}}function playVideoClickListener(){videoPlaybackEndedDiv.setAttribute("data-playback-ended","false");playVideo(this)}function randInt(a){return Math.floor(Math.random()*a)}function setRandomOrder(e){if(e==="audio"){var b=playArrows;var f=randomOrderHolder.getAttribute("data-randorder");var g=randomOrderHolder}else{if(e==="video"){var b=videoArrows;var f=videoRandomOrderHolder.getAttribute("data-randorder");var g=videoRandomOrderHolder}}var h=randomizeTrackOrder(b.length,e);var d=randomStringFromArray(h);if(f==="none"){g.setAttribute("data-randorder",d)}else{if(f===d){while(f===d){var a=randomizeTrackOrder(b.length,e);d=randomStringFromArray(a)}}else{g.setAttribute("data-randorder",d)}}}function endedTrackListener(y,m){if(m==="audio"){var n=playArrows;var i=nowPlayingNumDiv.getAttribute("data-nowplaying-num");var e=randomOrderHolder;var v=audioPlaybackEndedDiv;var g=playAudio;var s=repeatBtn.getAttribute("data-stat");var w=repeatBtnMobile.getAttribute("data-stat");var a=((s=="one")||(w=="one"));var k=((s=="all")||(w=="all"));var u=shuffleBtn.getAttribute("data-stat");var x=shuffleBtnMobile.getAttribute("data-stat");var h=((u=="on")||(x=="on"))}else{if(m==="video"){var n=videoArrows;var i=videoNowPlayingNumDiv.getAttribute("data-nowplaying-num");var e=videoRandomOrderHolder;var v=videoPlaybackEndedDiv;var g=playVideo;var s=videoRepeatBtn.getAttribute("data-stat");var w=videoRepeatBtnMobile.getAttribute("data-stat");var j=((s=="on")||(w=="on"));var u=videoShuffleBtn.getAttribute("data-stat");var x=videoShuffleBtnMobile.getAttribute("data-stat");var h=((u=="on")||(x=="on"))}}var z=(v.getAttribute("data-playback-ended")==="true");var b=n.length-1;if(a){g(n[i])}else{if(h){if(z){return}else{var r=e.getAttribute("data-randorder");var o=r.split(",");var q=o.shift();if((o!="")&&(q!=="undefined")){g(n[q]);var p=randomStringFromArray(o);e.setAttribute("data-randorder",p)}else{if((k)&&(q==="undefined")){var d=randInt(b);g(n[d]);setRandomOrder(m)}else{var l=g(n[q]);if(k){setRandomOrder(m);var f=e.getAttribute("data-randorder");var t=f.split(",");g(n[t[0]])}else{v.setAttribute("data-playback-ended","true")}}}}}else{if(h===false){if(i<b){i++;g(n[i])}else{if(k){g(n[0])}else{if((a===false)&&k===false){}}}}}}}function endedAudioListener(){endedTrackListener(this,"audio")}function endedVideoListener(){endedTrackListener(this,"video")}function skipTrack(j,r){var f=j.getAttribute("data-cmd");if(r==="audio"){var o=playArrows;var e=nowPlayingNumDiv.getAttribute("data-nowplaying-num");var i=randomOrderHolder;var n=playAudio;var k=shuffleBtn.getAttribute("data-stat");var p=shuffleBtnMobile.getAttribute("data-stat");var q=tracks}else{if(r==="video"){var o=videoArrows;var e=videoNowPlayingNumDiv.getAttribute("data-nowplaying-num");var i=videoRandomOrderHolder;var n=playVideo;var k=videoShuffleBtn.getAttribute("data-stat");var p=videoShuffleBtnMobile.getAttribute("data-stat");var q=videoTracks}}var h=q.length-1;if((k==="on")||(p==="on")){var l=i.getAttribute("data-randorder");var g=l.split(",");if(g.length>0){var b=g.shift();var m=o[b];if(typeof(m)==="undefined"){var d=randInt(q.length);n(o[d]);setRandomOrder(r)}else{n(m);var a=randomStringFromArray(g);i.setAttribute("data-randorder",a)}}else{if(repeat==="all"){var d=randInt(q.length);n(o[d]);setRandomOrder(r)}}}else{if(k==="off"){if(f==="fwd"){if(e<h){e++;n(o[e])}else{n(o[0])}}else{if(f==="prev"){if(e>0){e--;n(o[e])}else{n(o[h])}}}}}}function skipAudioListener(){skipTrack(this,"audio")}function skipVideoListener(){skipTrack(this,"video")}function toggleRepeat(b){var a=b.getAttribute("data-stat");if(a==="off"){b.setAttribute("data-stat","one");b.textContent="Repeat One"}else{if(a==="one"){b.setAttribute("data-stat","all");b.textContent="Repeat All"}else{if(a==="all"){b.setAttribute("data-stat","off");b.textContent="No Repeat"}}}}function toggleRepeatListener(){toggleRepeat(this)}function randomizeTrackOrder(d,f){if(f==="audio"){var b=nowPlayingNumDiv.getAttribute("data-nowplaying-num")}else{if(f==="video"){var b=videoNowPlayingNumDiv.getAttribute("data-nowplaying-num")}}var a=0;var g=[];while(g.length<d-1){var e=randInt(d);while(e==b){e=randInt(d)}if(g.indexOf(e)===-1){g.push(e)}}return g}function randomStringFromArray(b){if(b==="none"){return}var a="";for(c=0;c<b.length;c++){a+=b[c];if(c<b.length-1){a+=","}}return a}function toggleShuffle(d,b){var a=d.getAttribute("data-stat");if(a==="off"){setRandomOrder(b);d.setAttribute("data-stat","on");d.textContent="Shuffle On"}else{if(a==="on"){d.setAttribute("data-stat","off");d.textContent="Shuffle Off"}}}function toggleShuffleAudioListener(){toggleShuffle(this,"audio")}function toggleShuffleVideoListener(){toggleShuffle(this,"video")}function paused(b,e){var a=nowPlayingNumDiv.getAttribute("data-nowplaying-num");var d=playArrows[a].getAttribute("data-title");var f=pageTitle.getAttribute("data-sitename");if(e==="playing"){pageTitle.textContent="Now Playing: "+d+" | "+f;audioNowPlayingTextP.textContent="Now Playing: ";audioNowPlayingTextP.appendChild(document.createElement("span"));audioNowPlayingTextP.childNodes[1].style.fontWeight="bold";audioNowPlayingTextP.childNodes[1].textContent=d}else{if(e==="paused"){pageTitle.textContent="Paused: "+d+" | "+f;audioNowPlayingTextP.textContent="Paused: ";audioNowPlayingTextP.appendChild(document.createElement("span"));audioNowPlayingTextP.childNodes[1].style.fontWeight="bold";audioNowPlayingTextP.childNodes[1].textContent=d}}}function playingAudioHandler(){paused(this,"playing")}function pausedAudioHandler(){paused(this,"paused")}function giveLink(f){var d;var e;var h;var g;if(f==="audio"){g=audio}else{if(f==="video"){g=video}else{if(f==="single"){g=single}}}var b=window.location.protocol+"//"+window.location.host+window.location.pathname+"?t="+Math.floor(g.currentTime);if(f==="audio"){d=playArrows;e=nowPlayingNumDiv.getAttribute("data-nowplaying-num");h="&a="}else{if(f==="video"){d=videoArrows;e=videoNowPlayingNumDiv.getAttribute("data-nowplaying-num");h="&v="}}if(d){var a=d[e].getAttribute("id");b+=h+a}if(f==="video"){b+="#videoplayer"}var i=document.createElement("textarea");i.value=b;document.body.appendChild(i);i.select();document.execCommand("copy");document.body.removeChild(i);return b}function singleLinkListener(){giveLink("single")}function audioLinkListener(){giveLink("audio")}function videoLinkListener(){giveLink("video")}function seekTrack(){var a=params.get("a");var b=params.get("v");var d=params.get("t");if((a===null)&&(b===null)){single.currentTime=d;single.autoplay=true}else{if(a){playAudio(playArrows.namedItem(a));audio.currentTime=d;audio.autoplay=true}if(b){playVideo(videoArrows.namedItem(b));video.currentTime=d;video.autoplay=true}}}function setUp(){var h=0;if(nowPlayingNumDiv){var d=nowPlayingNumDiv.getAttribute("data-nowplaying-num")}var g=pageTitle.getAttribute("data-sitename");if(playArrows.length>0){var e=playArrows[0].getAttribute("data-title");var a="Paused: "+e+" | "+g}if(tracks){for(c=0;c<playArrows.length;c++){var f=playArrows.item(c);f.addEventListener("click",playAudioClickListener);f.setAttribute("data-num",c)}}if(audio){audio.src=playArrows[h].getAttribute("data-browse").replace("browse","serve");playingTitleSpan.textContent=e;title.textContent=a;audio.addEventListener("ended",endedAudioListener);audio.addEventListener("playing",playingAudioHandler);audio.addEventListener("pause",pausedAudioHandler);prevBtn.addEventListener("click",skipAudioListener);nextBtn.addEventListener("click",skipAudioListener);repeatBtn.addEventListener("click",toggleRepeatListener);shuffleBtn.addEventListener("click",toggleShuffleAudioListener);prevBtnMobile.addEventListener("click",skipAudioListener);nextBtnMobile.addEventListener("click",skipAudioListener);repeatBtnMobile.addEventListener("click",toggleRepeatListener);shuffleBtnMobile.addEventListener("click",toggleShuffleAudioListener)}if(videoTracks){for(c=0;c<videoArrows.length;c++){var b=videoArrows.item(c);b.addEventListener("click",playVideoClickListener);b.setAttribute("data-num",c)}}if(video){video.src=videoArrows[h].getAttribute("data-browse").replace("browse","serve");video.addEventListener("ended",endedVideoListener);videoPrevBtn.addEventListener("click",skipVideoListener);videoNextBtn.addEventListener("click",skipVideoListener);videoRepeatBtn.addEventListener("click",toggleRepeatListener);videoShuffleBtn.addEventListener("click",toggleShuffleVideoListener);videoPrevBtnMobile.addEventListener("click",skipVideoListener);videoNextBtnMobile.addEventListener("click",skipVideoListener);videoRepeatBtnMobile.addEventListener("click",toggleRepeatListener);videoShuffleBtnMobile.addEventListener("click",toggleShuffleVideoListener)}if(singleLinkButton){singleLinkButton.addEventListener("click",singleLinkListener)}if(audioLinkButton){audioLinkButton.addEventListener("click",audioLinkListener)}if(videoLinkButton){videoLinkButton.addEventListener("click",videoLinkListener)}if(params.has("t")){seekTrack()}}window.onload=setUp();
\ No newline at end of file
var audio=document.getElementById("audio");var audioNowPlayingTextP=document.getElementById("now-playing");var videoNowPlayingTextP=document.getElementById("video-now-playing");var nowPlayingNumDiv=document.getElementById("now-playing-num");var audioPlaybackEndedDiv=document.getElementById("audio-playback-ended");var videoPlaybackEndedDiv=document.getElementById("video-playback-ended");var videoNowPlayingNumDiv=document.getElementById("video-now-playing-num");var pageTitle=document.getElementById("title");var playArrows=document.getElementsByClassName("play-arrow");var playingTitleSpan=document.getElementById("playing-title");var videoPlayingTitleSpan=document.getElementById("video-playing-title");var playlist=document.getElementById("playlist");if(playlist){var tracks=playlist.getElementsByClassName("title")}var video=document.getElementById("video");var videoArrows=document.getElementsByClassName("video-arrow");var videoPlaylist=document.getElementById("video-playlist");if(videoPlaylist){var videoTracks=videoPlaylist.getElementsByClassName("video-title")}else{if(playlist){var videoTracks=playlist.getElementsByClassName("video-title")}}var prevBtn=document.getElementById("prev");var nextBtn=document.getElementById("next");var repeatBtn=document.getElementById("repeat");var shuffleBtn=document.getElementById("shuffle");var prevBtnMobile=document.getElementById("mobile-prev");var nextBtnMobile=document.getElementById("mobile-next");var repeatBtnMobile=document.getElementById("mobile-repeat");var shuffleBtnMobile=document.getElementById("mobile-shuffle");var randomOrderHolder=document.getElementById("randorder");var videoPrevBtn=document.getElementById("vid-prev");var videoNextBtn=document.getElementById("vid-next");var videoRepeatBtn=document.getElementById("vid-repeat");var videoShuffleBtn=document.getElementById("vid-shuffle");var videoPrevBtnMobile=document.getElementById("mobile-vid-prev");var videoNextBtnMobile=document.getElementById("mobile-vid-next");var videoRepeatBtnMobile=document.getElementById("mobile-vid-repeat");var videoShuffleBtnMobile=document.getElementById("mobile-vid-shuffle");var videoRandomOrderHolder=document.getElementById("vid-randorder");var params=new URLSearchParams(window.location.search);var single=document.getElementById("single");var singleLinkButton=document.getElementById("time-link");var audioLinkButton=document.getElementById("audio-time-link");var videoLinkButton=document.getElementById("video-time-link");function playAudio(a,b){if(a){var f=a.getAttribute("data-browse")}else{return false}var k=f.replace("browse","serve");var e=pageTitle.getAttribute("data-sitename");var j=a.getAttribute("data-num");var g=a.getAttribute("data-title");var h="Now Playing: "+g+" | "+e;var d=shuffleBtn.getAttribute("data-stat");var i=shuffleBtnMobile.getAttribute("data-stat");if(audio.src.endsWith(k)!==true){audio.src=k}if(typeof b==="undefined"){audio.play()}nowPlayingNumDiv.setAttribute("data-nowplaying-num",j);playingTitleSpan.textContent=g;pageTitle.textContent=h;if((d==="on")||(i==="on")){setRandomOrder("audio")}}function playAudioClickListener(){audioPlaybackEndedDiv.setAttribute("data-playback-ended","false");playAudio(this)}function playVideo(g,a){if(g){var f=g.getAttribute("data-browse")}else{return false}var h=f.replace("browse","serve");var e=videoShuffleBtn.getAttribute("data-stat");var d=videoShuffleBtnMobile.getAttribute("data-stat");var b=g.getAttribute("data-num");if(typeof a==="undefined"){video.src=h;video.play()}videoNowPlayingNumDiv.setAttribute("data-nowplaying-num",b);videoPlayingTitleSpan.textContent=title;if((e==="on")||(d==="on")){setRandomOrder("video")}}function playVideoClickListener(){videoPlaybackEndedDiv.setAttribute("data-playback-ended","false");playVideo(this)}function randInt(a){return Math.floor(Math.random()*a)}function setRandomOrder(e){if(e==="audio"){var b=playArrows;var f=randomOrderHolder.getAttribute("data-randorder");var g=randomOrderHolder}else{if(e==="video"){var b=videoArrows;var f=videoRandomOrderHolder.getAttribute("data-randorder");var g=videoRandomOrderHolder}}var h=randomizeTrackOrder(b.length,e);var d=randomStringFromArray(h);if(f==="none"){g.setAttribute("data-randorder",d)}else{if(f===d){while(f===d){var a=randomizeTrackOrder(b.length,e);d=randomStringFromArray(a)}}else{g.setAttribute("data-randorder",d)}}}function endedTrackListener(y,m){if(m==="audio"){var n=playArrows;var i=nowPlayingNumDiv.getAttribute("data-nowplaying-num");var e=randomOrderHolder;var v=audioPlaybackEndedDiv;var g=playAudio;var s=repeatBtn.getAttribute("data-stat");var w=repeatBtnMobile.getAttribute("data-stat");var a=((s=="one")||(w=="one"));var k=((s=="all")||(w=="all"));var u=shuffleBtn.getAttribute("data-stat");var x=shuffleBtnMobile.getAttribute("data-stat");var h=((u=="on")||(x=="on"))}else{if(m==="video"){var n=videoArrows;var i=videoNowPlayingNumDiv.getAttribute("data-nowplaying-num");var e=videoRandomOrderHolder;var v=videoPlaybackEndedDiv;var g=playVideo;var s=videoRepeatBtn.getAttribute("data-stat");var w=videoRepeatBtnMobile.getAttribute("data-stat");var j=((s=="on")||(w=="on"));var u=videoShuffleBtn.getAttribute("data-stat");var x=videoShuffleBtnMobile.getAttribute("data-stat");var h=((u=="on")||(x=="on"))}}var z=(v.getAttribute("data-playback-ended")==="true");var b=n.length-1;if(a){g(n[i])}else{if(h){if(z){return}else{var r=e.getAttribute("data-randorder");var o=r.split(",");var q=o.shift();if((o!="")&&(q!=="undefined")){g(n[q]);var p=randomStringFromArray(o);e.setAttribute("data-randorder",p)}else{if((k)&&(q==="undefined")){var d=randInt(b);g(n[d]);setRandomOrder(m)}else{var l=g(n[q]);if(k){setRandomOrder(m);var f=e.getAttribute("data-randorder");var t=f.split(",");g(n[t[0]])}else{v.setAttribute("data-playback-ended","true")}}}}}else{if(h===false){if(i<b){i++;g(n[i])}else{if(k){g(n[0])}else{if((a===false)&&k===false){}}}}}}}function endedAudioListener(){endedTrackListener(this,"audio")}function endedVideoListener(){endedTrackListener(this,"video")}function skipTrack(j,r){var f=j.getAttribute("data-cmd");if(r==="audio"){var o=playArrows;var e=nowPlayingNumDiv.getAttribute("data-nowplaying-num");var i=randomOrderHolder;var n=playAudio;var k=shuffleBtn.getAttribute("data-stat");var p=shuffleBtnMobile.getAttribute("data-stat");var q=tracks}else{if(r==="video"){var o=videoArrows;var e=videoNowPlayingNumDiv.getAttribute("data-nowplaying-num");var i=videoRandomOrderHolder;var n=playVideo;var k=videoShuffleBtn.getAttribute("data-stat");var p=videoShuffleBtnMobile.getAttribute("data-stat");var q=videoTracks}}var h=q.length-1;if((k==="on")||(p==="on")){var l=i.getAttribute("data-randorder");var g=l.split(",");if(g.length>0){var b=g.shift();var m=o[b];if(typeof(m)==="undefined"){var d=randInt(q.length);n(o[d]);setRandomOrder(r)}else{n(m);var a=randomStringFromArray(g);i.setAttribute("data-randorder",a)}}else{if(repeat==="all"){var d=randInt(q.length);n(o[d]);setRandomOrder(r)}}}else{if(k==="off"){if(f==="fwd"){if(e<h){e++;n(o[e])}else{n(o[0])}}else{if(f==="prev"){if(e>0){e--;n(o[e])}else{n(o[h])}}}}}}function skipAudioListener(){skipTrack(this,"audio")}function skipVideoListener(){skipTrack(this,"video")}function toggleRepeat(b){var a=b.getAttribute("data-stat");if(a==="off"){b.setAttribute("data-stat","one");b.textContent="Repeat One"}else{if(a==="one"){b.setAttribute("data-stat","all");b.textContent="Repeat All"}else{if(a==="all"){b.setAttribute("data-stat","off");b.textContent="No Repeat"}}}}function toggleRepeatListener(){toggleRepeat(this)}function randomizeTrackOrder(d,f){if(f==="audio"){var b=nowPlayingNumDiv.getAttribute("data-nowplaying-num")}else{if(f==="video"){var b=videoNowPlayingNumDiv.getAttribute("data-nowplaying-num")}}var a=0;var g=[];while(g.length<d-1){var e=randInt(d);while(e==b){e=randInt(d)}if(g.indexOf(e)===-1){g.push(e)}}return g}function randomStringFromArray(b){if(b==="none"){return}var a="";for(c=0;c<b.length;c++){a+=b[c];if(c<b.length-1){a+=","}}return a}function toggleShuffle(d,b){var a=d.getAttribute("data-stat");if(a==="off"){setRandomOrder(b);d.setAttribute("data-stat","on");d.textContent="Shuffle On"}else{if(a==="on"){d.setAttribute("data-stat","off");d.textContent="Shuffle Off"}}}function toggleShuffleAudioListener(){toggleShuffle(this,"audio")}function toggleShuffleVideoListener(){toggleShuffle(this,"video")}function paused(d,g,f){if(f==="audio"){var b=audioNowPlayingTextP;var a=nowPlayingNumDiv.getAttribute("data-nowplaying-num");var e=playArrows[a].getAttribute("data-title");var h=pageTitle.getAttribute("data-sitename")}else{if(f==="video"){var b=videoNowPlayingTextP;var a=videoNowPlayingNumDiv.getAttribute("data-nowplaying-num");var e=videoArrows[a].getAttribute("data-title")}}if(g==="playing"){if(f==="audio"){pageTitle.textContent="Now Playing: "+e+" | "+h}b.textContent="Now Playing: ";b.appendChild(document.createElement("span"));b.childNodes[1].style.fontWeight="bold";b.childNodes[1].textContent=e}else{if(g==="paused"){if(f==="audio"){pageTitle.textContent="Paused: "+e+" | "+h}b.textContent="Paused: ";b.appendChild(document.createElement("span"));b.childNodes[1].style.fontWeight="bold";b.childNodes[1].textContent=e}}}function playingAudioHandler(){paused(this,"playing","audio")}function pausedAudioHandler(){paused(this,"paused","audio")}function playingVideoHandler(){paused(this,"playing","video")}function pausedVideoHandler(){paused(this,"paused","video")}function giveLink(f){var d;var e;var h;var g;if(f==="audio"){g=audio}else{if(f==="video"){g=video}else{if(f==="single"){g=single}}}var b=window.location.protocol+"//"+window.location.host+window.location.pathname+"?t="+Math.floor(g.currentTime);if(f==="audio"){d=playArrows;e=nowPlayingNumDiv.getAttribute("data-nowplaying-num");h="&a="}else{if(f==="video"){d=videoArrows;e=videoNowPlayingNumDiv.getAttribute("data-nowplaying-num");h="&v="}}if(d){var a=d[e].getAttribute("id");b+=h+a}if(f==="video"){b+="#videoplayer"}var i=document.createElement("textarea");i.value=b;document.body.appendChild(i);i.select();document.execCommand("copy");document.body.removeChild(i);return b}function singleLinkListener(){giveLink("single")}function audioLinkListener(){giveLink("audio")}function videoLinkListener(){giveLink("video")}function seekTrack(){var a=params.get("a");var b=params.get("v");var d=params.get("t");if((a===null)&&(b===null)){single.currentTime=d;single.autoplay=true}else{if(a){playAudio(playArrows.namedItem(a));audio.currentTime=d;audio.autoplay=true}if(b){playVideo(videoArrows.namedItem(b));video.currentTime=d;video.autoplay=true}}}function setUp(){var i=0;if(nowPlayingNumDiv){var d=nowPlayingNumDiv.getAttribute("data-nowplaying-num")}var h=pageTitle.getAttribute("data-sitename");if(playArrows.length>0){var e=playArrows[0].getAttribute("data-title");var a="Paused: "+e+" | "+h}if(tracks){for(c=0;c<playArrows.length;c++){var f=playArrows.item(c);f.addEventListener("click",playAudioClickListener);f.setAttribute("data-num",c)}}if(audio){audio.src=playArrows[i].getAttribute("data-browse").replace("browse","serve");playingTitleSpan.textContent=e;title.textContent=a;audio.addEventListener("ended",endedAudioListener);audio.addEventListener("playing",playingAudioHandler);audio.addEventListener("pause",pausedAudioHandler);prevBtn.addEventListener("click",skipAudioListener);nextBtn.addEventListener("click",skipAudioListener);repeatBtn.addEventListener("click",toggleRepeatListener);shuffleBtn.addEventListener("click",toggleShuffleAudioListener);prevBtnMobile.addEventListener("click",skipAudioListener);nextBtnMobile.addEventListener("click",skipAudioListener);repeatBtnMobile.addEventListener("click",toggleRepeatListener);shuffleBtnMobile.addEventListener("click",toggleShuffleAudioListener)}if(videoTracks){for(c=0;c<videoArrows.length;c++){var b=videoArrows.item(c);b.addEventListener("click",playVideoClickListener);b.setAttribute("data-num",c)}}if(videoArrows.length>0){var g=videoArrows[0].getAttribute("data-title")}if(video){video.src=videoArrows[i].getAttribute("data-browse").replace("browse","serve");videoPlayingTitleSpan.textContent=g;video.addEventListener("ended",endedVideoListener);video.addEventListener("playing",playingVideoHandler);video.addEventListener("pause",pausedVideoHandler);videoPrevBtn.addEventListener("click",skipVideoListener);videoNextBtn.addEventListener("click",skipVideoListener);videoRepeatBtn.addEventListener("click",toggleRepeatListener);videoShuffleBtn.addEventListener("click",toggleShuffleVideoListener);videoPrevBtnMobile.addEventListener("click",skipVideoListener);videoNextBtnMobile.addEventListener("click",skipVideoListener);videoRepeatBtnMobile.addEventListener("click",toggleRepeatListener);videoShuffleBtnMobile.addEventListener("click",toggleShuffleVideoListener)}if(singleLinkButton){singleLinkButton.addEventListener("click",singleLinkListener)}if(audioLinkButton){audioLinkButton.addEventListener("click",audioLinkListener)}if(videoLinkButton){videoLinkButton.addEventListener("click",videoLinkListener)}if(params.has("t")){seekTrack()}}window.onload=setUp();
\ No newline at end of file

M mousikofidi/templates/video_player.html => mousikofidi/templates/video_player.html +2 -0
@@ 25,6 25,8 @@
    </div>
  </div>

  <p id="video-now-playing" title="The status of the current track.">Paused: <span class="bold" id="video-playing-title" title="The title of the current track."></span></p>

  {% if link_button %}
    <button id="video-time-link" title="Click this button to have a link to this track at the current time put into your clipboard.">{% if icons %}<i class="fas fa-link"></i> {% endif %}Current Time Link</button>
  {% endif %}