forked from mirrors/akkoma-fe
rot stability
This commit is contained in:
parent
ebc2d167e4
commit
790e12c6b3
1 changed files with 14 additions and 13 deletions
|
@ -23,27 +23,32 @@
|
||||||
|
|
||||||
//Music functions
|
//Music functions
|
||||||
function setMusic(url) {
|
function setMusic(url) {
|
||||||
audio.pause();
|
noMusic = !url;
|
||||||
|
|
||||||
silent = !url;
|
|
||||||
if (url) {
|
if (url) {
|
||||||
console.log("Setting music: " + url);
|
if (audio.src !== url && audio.src !== new URL(url, document.baseURI).href) {
|
||||||
audio.src = url;
|
console.log("Setting music: " + url);
|
||||||
|
audio.pause();
|
||||||
|
audio.src = url;
|
||||||
|
}
|
||||||
playMusic();
|
playMusic();
|
||||||
} else {
|
} else {
|
||||||
console.log("Silencing");
|
audio.pause();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function playMusic() {
|
function playMusic() {
|
||||||
//Starts playing the music if it isn't muted and isn't already playing
|
//Starts playing the music if it isn't muted and isn't already playing
|
||||||
try {
|
try {
|
||||||
if (!silent && audio.src && audio.src != "" && audio.paused && !audio.muted) {
|
if (audio && !noMusic && !audio.muted && audio.paused) {
|
||||||
|
console.log("Playing music");
|
||||||
|
audio.pause();
|
||||||
audio.currentTime = 0;
|
audio.currentTime = 0;
|
||||||
audio.play().catch(() => getPromiseFromEvent(window, 'click').then(audio.play));
|
audio.load();
|
||||||
|
audio.play().catch(() => getPromiseFromEvent(window, 'click').then(playMusic));
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
console.log("Failed to play music");
|
console.log("Failed to play music");
|
||||||
|
noMusic = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,26 +107,22 @@
|
||||||
|
|
||||||
//Theme application
|
//Theme application
|
||||||
function applyMainTheme() {
|
function applyMainTheme() {
|
||||||
console.log("Applying main theme");
|
|
||||||
setMusic(null);
|
setMusic(null);
|
||||||
|
|
||||||
//<meta name="pageMusic" content="/assets/music.ogg">
|
//<meta name="pageMusic" content="/assets/music.ogg">
|
||||||
waitUntilSpecial('meta[name="pageMusic"]', (pageMusic) => {
|
waitUntilSpecial('meta[name="pageMusic"]', (pageMusic) => {
|
||||||
setMusic(pageMusic.content);
|
setMusic(pageMusic.content);
|
||||||
playMusic();
|
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
//<a id="pageMusic" href="/assets/music.ogg"></a>
|
//<a id="pageMusic" href="/assets/music.ogg"></a>
|
||||||
waitUntilSpecial("#pageMusic", (pageMusic) => {
|
waitUntilSpecial("#pageMusic", (pageMusic) => {
|
||||||
setMusic(pageMusic.getAttribute("href"));
|
setMusic(pageMusic.getAttribute("href"));
|
||||||
playMusic();
|
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function applyUserTheme() {
|
function applyUserTheme() {
|
||||||
console.log("Applying user theme");
|
|
||||||
setMusic(null);
|
setMusic(null);
|
||||||
|
|
||||||
//Configure by post
|
//Configure by post
|
||||||
|
@ -239,7 +240,7 @@
|
||||||
|
|
||||||
//Rot music player
|
//Rot music player
|
||||||
const audio = document.createElement("audio");
|
const audio = document.createElement("audio");
|
||||||
let silent = false;
|
let noMusic = true;
|
||||||
audio.loop = true;
|
audio.loop = true;
|
||||||
audio.id = "user-music";
|
audio.id = "user-music";
|
||||||
audio.style = "display:none;";
|
audio.style = "display:none;";
|
||||||
|
|
Loading…
Reference in a new issue