summaryrefslogtreecommitdiff
path: root/app/index.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/index.php')
-rw-r--r--app/index.php68
1 files changed, 58 insertions, 10 deletions
diff --git a/app/index.php b/app/index.php
index 31ca9aa..82b4791 100644
--- a/app/index.php
+++ b/app/index.php
@@ -553,7 +553,7 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.php"; global $_PROFI
}
}
- function updateDisplay(initial) {
+ window.updateDisplay = (initial) => {
if (initial) {
if (playerDocument.getElementById("player-audio").paused) {
document.title = "Mist";
@@ -740,6 +740,14 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.php"; global $_PROFI
window.library = await (await fetch("/api/getLibrary.php?_=" + [...crypto.getRandomValues(new Uint8Array(40))].map(m=>('0'+m.toString(16)).slice(-2)).join(''))).json();
}
+ window.redownloadMedia = async () => {
+ document.getElementById("loading-text").innerText = "Downloading list of songs...";
+ window.songs = await (await fetch("/assets/content/songs.json?_=" + [...crypto.getRandomValues(new Uint8Array(40))].map(m=>('0'+m.toString(16)).slice(-2)).join(''))).json();
+
+ document.getElementById("loading-text").innerText = "Downloading list of albums...";
+ window.albums = await (await fetch("/assets/content/albums.json?_=" + [...crypto.getRandomValues(new Uint8Array(40))].map(m=>('0'+m.toString(16)).slice(-2)).join(''))).json();
+ }
+
(async () => {
document.getElementById("loading-text").innerText = "Downloading list of songs...";
window.songs = await (await fetch("/assets/content/songs.json?_=" + [...crypto.getRandomValues(new Uint8Array(40))].map(m=>('0'+m.toString(16)).slice(-2)).join(''))).json();
@@ -943,10 +951,12 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.php"; global $_PROFI
}
if (stellaCompatible) {
- window.preloaded[id] = await Stella.build("/assets/content/" + id + ".stella");
- window.preloadedGains[id] = await normalizeAudio(window.preloaded[id].stems.vocals.buffer, 0, true);
- window.preloadedGainsBoosted1[id] = await normalizeAudio(window.preloaded[id].stems.vocals.buffer, .05, true);
- window.preloadedGainsBoosted2[id] = await normalizeAudio(window.preloaded[id].stems.vocals.buffer, .1, true);
+ if (!window.preloaded[id]) {
+ window.preloaded[id] = await Stella.build("/assets/content/" + id + ".stella");
+ window.preloadedGains[id] = await normalizeAudio(window.preloaded[id].stems.vocals.buffer, 0, true);
+ window.preloadedGainsBoosted1[id] = await normalizeAudio(window.preloaded[id].stems.vocals.buffer, .05, true);
+ window.preloadedGainsBoosted2[id] = await normalizeAudio(window.preloaded[id].stems.vocals.buffer, .1, true);
+ }
} else {
if (!window.preloaded[id]) {
window.buffering = true;
@@ -971,9 +981,45 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.php"; global $_PROFI
if (window.currentSongID !== id) return;
+ try {
+ window.currentNormalizationSource.disconnect();
+
+ if (playingStella) {
+ window.currentNormalizationSource2.disconnect();
+ window.currentNormalizationSource3.disconnect();
+ }
+
+ window.preloadedGains[window.currentSongID].disconnect();
+ } catch (e) {
+ console.error(e);
+ }
+
+ if (playingStella) {
+ for (let player of [
+ window.currentNormalizationSource2,
+ window.currentNormalizationSource3,
+ window.currentNormalizationSource4,
+ window.currentNormalizationSource5
+ ]) {
+ try {
+ player.disconnect();
+ window.preloadedGainsBoosted1[window.currentSongID].disconnect();
+ } catch (e) {
+ console.error(e);
+ }
+ }
+
+ try {
+ window.currentNormalizationSource1.disconnect();
+ window.preloadedGainsBoosted2[window.currentSongID].disconnect();
+ } catch (e) {
+ console.error(e);
+ }
+ }
+
if (!stellaCompatible) {
if (!window.preloadedURLs[id]) {
- window.preloadedURLs[id] = localStorage.getItem("data-saving") ? URL.createObjectURL(window.preloadedBlobs[id]) : URL.createObjectURL(window.preloadedBlobs[id]);
+ window.preloadedURLs[id] = URL.createObjectURL(window.preloadedBlobs[id]);
}
} else {
window.playingStella = true;
@@ -1079,10 +1125,12 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.php"; global $_PROFI
}
if (stellaCompatible) {
- window.preloaded[id] = await Stella.build("/assets/content/" + id + ".stella");
- window.preloadedGains[id] = await normalizeAudio(window.preloaded[id].stems.other.buffer, 0, true);
- window.preloadedGainsBoosted1[id] = await normalizeAudio(window.preloaded[id].stems.other.buffer, .05, true);
- window.preloadedGainsBoosted2[id] = await normalizeAudio(window.preloaded[id].stems.other.buffer, .1, true);
+ if (!window.preloaded[id]) {
+ window.preloaded[id] = await Stella.build("/assets/content/" + id + ".stella");
+ window.preloadedGains[id] = await normalizeAudio(window.preloaded[id].stems.other.buffer, 0, true);
+ window.preloadedGainsBoosted1[id] = await normalizeAudio(window.preloaded[id].stems.other.buffer, .05, true);
+ window.preloadedGainsBoosted2[id] = await normalizeAudio(window.preloaded[id].stems.other.buffer, .1, true);
+ }
} else {
if (!window.preloaded[id]) {
if (localStorage.getItem("data-saving") === "true") {