ctucx.git: webmusic-nginx

nginx xslt-based index files optimized for music, inspired by https://git.ztn.sh/zotan/webmusic

commit 45dd844c9d098fbcb567f985d1eb1061e6581754
parent 5b35aa858f3996740bd973eb16c4eb39e25eec7d
Author: ctucx <c@ctu.cx>
Date: Sat, 6 Mar 2021 20:32:48 +0100

webmusic.js: replace spaces with tabs
1 file changed, 129 insertions(+), 129 deletions(-)
M
webmusic.js
|
258
++++++++++++++++++++++++++++++++++++++++----------------------------------------
diff --git a/webmusic.js b/webmusic.js
@@ -6,174 +6,174 @@ let total = 0;
 let index = 0;
 
 let sound = new Howl({
-    src: [''],
-    format: "mp3",
-    html5: true
+	src: [''],
+	format: "mp3",
+	html5: true
 });
 
 setInterval(function () {
-    updateState();
+	updateState();
 }, 1000);
 
 window.onload = function () {
-    initState();
-    updateState()
+	initState();
+	updateState()
 };
 
 window.onkeyup = function (event) {
-    switch (event.key) {
-        case " ":
-        case "p":
-            if (gstate == "idle" && total !== 0) {
-                playSong(queue[0])
-            } else {
-                togglePlayback();
-            }
-            break;
-
-        case "r":
-            toggleRepeat();
-            break;
-
-        case "c":
-            toggleContinue();
-            break;
-
-        case "ArrowUp":
-            previousTrack();
-            break;
-
-        case "ArrowDown":
-            nextTrack();
-            break;
-
-        case "ArrowLeft":
-            if (sound.seek() < 10) {
-                sound.seek(0);
-            } else {
-                sound.seek(sound.seek()-10);
-            }
-            break;
-
-        case "ArrowRight":
-            sound.seek(sound.seek()+10);
-            break;
-
-        case "Escape":
-            document.getElementById("back").click();
-            break;
-    }
+	switch (event.key) {
+		case " ":
+		case "p":
+			if (gstate == "idle" && total !== 0) {
+				playSong(queue[0])
+			} else {
+				togglePlayback();
+			}
+			break;
+
+		case "r":
+			toggleRepeat();
+			break;
+
+		case "c":
+			toggleContinue();
+			break;
+
+		case "ArrowUp":
+			previousTrack();
+			break;
+
+		case "ArrowDown":
+			nextTrack();
+			break;
+
+		case "ArrowLeft":
+			if (sound.seek() < 10) {
+				sound.seek(0);
+			} else {
+				sound.seek(sound.seek()-10);
+			}
+			break;
+
+		case "ArrowRight":
+			sound.seek(sound.seek()+10);
+			break;
+
+		case "Escape":
+			document.getElementById("back").click();
+			break;
+	}
 };
 
 
 function togglePlayback() {
-    if (sound.playing())
-        sound.pause();
-    else
-        sound.play();
+	if (sound.playing())
+		sound.pause();
+	else
+		sound.play();
 }
 
 function setState(state) {
-    gstate = state;
-    console.log("now in state: " + state);
-    updateState();
+	gstate = state;
+	console.log("now in state: " + state);
+	updateState();
 }
 
 
 function playSong(url) {
-    if (document.getElementsByClassName("playing").length > 0)
-        document.getElementsByClassName("playing")[0].classList.remove("playing");
-    index = queue.indexOf(url);
-    sound.stop();
-    sound.unload();
-    sound = null;
-    delete sound;
-
-    sound = new Howl({
-        src: [url],
-        html5: true
-    });
-
-    setState("loading");
-    sound.play();
-    sound.loop(repeat);
-    
-    document.querySelectorAll('[onclick="playSong(\''+url+'\')"]')[0].classList.add("playing");
-
-    sound.on("play", function () {
-        setState("playing");
-    });
-    sound.on("loaderror", function () {
-        setState("error loading track")
-    });
-    sound.on("playerror", function () {
-        setState("error opening audio device")
-    });
-    sound.on("end", function () {
-        setState("idle");
-        nextTrack()
-    });
-    sound.on("pause", function () {
-        setState("paused")
-    });
+	if (document.getElementsByClassName("playing").length > 0)
+		document.getElementsByClassName("playing")[0].classList.remove("playing");
+	index = queue.indexOf(url);
+	sound.stop();
+	sound.unload();
+	sound = null;
+	delete sound;
+
+	sound = new Howl({
+		src: [url],
+		html5: true
+	});
+
+	setState("loading");
+	sound.play();
+	sound.loop(repeat);
+	
+	document.querySelectorAll('[onclick="playSong(\''+url+'\')"]')[0].classList.add("playing");
+
+	sound.on("play", function () {
+		setState("playing");
+	});
+	sound.on("loaderror", function () {
+		setState("error loading track")
+	});
+	sound.on("playerror", function () {
+		setState("error opening audio device")
+	});
+	sound.on("end", function () {
+		setState("idle");
+		nextTrack()
+	});
+	sound.on("pause", function () {
+		setState("paused")
+	});
 }
 
 function toggleRepeat() {
-    repeat = !repeat;
-    continuelist = !repeat;
-    sound.loop(repeat);
-    updateState();
+	repeat = !repeat;
+	continuelist = !repeat;
+	sound.loop(repeat);
+	updateState();
 }
 
 function toggleContinue() {
-    continuelist = !continuelist;
-    updateState();
+	continuelist = !continuelist;
+	updateState();
 }
 
 function updateState() {
-    document.getElementById("state").setAttribute('onclick', 'togglePlayback()');
-    let statestr = "[";
-    statestr += gstate;
-    if (sound.playing())
-        statestr += " " + formatTime(Math.round(sound.seek())) + "/" + formatTime(Math.round(sound.duration()));
-
-    statestr += "]";
-    document.getElementById("state").innerHTML = statestr;
-    let flags = "[";
-    if (repeat)
-        flags += '<a onclick="toggleRepeat()" href="#" style="color:#6b9969">R</a>';
-    else
-        flags += '<a onclick="toggleRepeat()" href="#">R</a>';
-    if (continuelist)
-        flags += '<a onclick="toggleContinue()" href="#" style="color:#6b9969">C</a>';
-    else
-        flags += '<a onclick="toggleContinue()" href="#">C</a>';
-
-    document.getElementById("flags").innerHTML = flags + "]";
+	document.getElementById("state").setAttribute('onclick', 'togglePlayback()');
+	let statestr = "[";
+	statestr += gstate;
+	if (sound.playing())
+		statestr += " " + formatTime(Math.round(sound.seek())) + "/" + formatTime(Math.round(sound.duration()));
+
+	statestr += "]";
+	document.getElementById("state").innerHTML = statestr;
+	let flags = "[";
+	if (repeat)
+		flags += '<a onclick="toggleRepeat()" href="#" style="color:#6b9969">R</a>';
+	else
+		flags += '<a onclick="toggleRepeat()" href="#">R</a>';
+	if (continuelist)
+		flags += '<a onclick="toggleContinue()" href="#" style="color:#6b9969">C</a>';
+	else
+		flags += '<a onclick="toggleContinue()" href="#">C</a>';
+
+	document.getElementById("flags").innerHTML = flags + "]";
 }
 
 function initState() {
-    total = queue.length;
+	total = queue.length;
 }
 
 function previousTrack() {
-    if (index-- === 0)
-        index = total-1;
-    if (continuelist) {
-        playSong(queue[index])
-    }
+	if (index-- === 0)
+		index = total-1;
+	if (continuelist) {
+		playSong(queue[index])
+	}
 }
 
 function nextTrack() {
-    if (++index === total)
-        index = 0;
-    if (continuelist) {
-        playSong(queue[index])
-    }
+	if (++index === total)
+		index = 0;
+	if (continuelist) {
+		playSong(queue[index])
+	}
 }
 
 function formatTime(secs) {
-    const minutes = Math.floor(secs / 60) || 0;
-    const seconds = (secs - minutes * 60) || 0;
-    return minutes + ':' + (seconds < 10 ? '0' : '') + seconds;
+	const minutes = Math.floor(secs / 60) || 0;
+	const seconds = (secs - minutes * 60) || 0;
+	return minutes + ':' + (seconds < 10 ? '0' : '') + seconds;
 }