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
|
||||
function setMusic(url) {
|
||||
audio.pause();
|
||||
|
||||
silent = !url;
|
||||
noMusic = !url;
|
||||
if (url) {
|
||||
console.log("Setting music: " + url);
|
||||
audio.src = url;
|
||||
if (audio.src !== url && audio.src !== new URL(url, document.baseURI).href) {
|
||||
console.log("Setting music: " + url);
|
||||
audio.pause();
|
||||
audio.src = url;
|
||||
}
|
||||
playMusic();
|
||||
} else {
|
||||
console.log("Silencing");
|
||||
audio.pause();
|
||||
}
|
||||
}
|
||||
|
||||
function playMusic() {
|
||||
//Starts playing the music if it isn't muted and isn't already playing
|
||||
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.play().catch(() => getPromiseFromEvent(window, 'click').then(audio.play));
|
||||
audio.load();
|
||||
audio.play().catch(() => getPromiseFromEvent(window, 'click').then(playMusic));
|
||||
}
|
||||
} catch {
|
||||
console.log("Failed to play music");
|
||||
noMusic = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -102,26 +107,22 @@
|
|||
|
||||
//Theme application
|
||||
function applyMainTheme() {
|
||||
console.log("Applying main theme");
|
||||
setMusic(null);
|
||||
|
||||
//<meta name="pageMusic" content="/assets/music.ogg">
|
||||
waitUntilSpecial('meta[name="pageMusic"]', (pageMusic) => {
|
||||
setMusic(pageMusic.content);
|
||||
playMusic();
|
||||
return true;
|
||||
});
|
||||
|
||||
//<a id="pageMusic" href="/assets/music.ogg"></a>
|
||||
waitUntilSpecial("#pageMusic", (pageMusic) => {
|
||||
setMusic(pageMusic.getAttribute("href"));
|
||||
playMusic();
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
function applyUserTheme() {
|
||||
console.log("Applying user theme");
|
||||
setMusic(null);
|
||||
|
||||
//Configure by post
|
||||
|
@ -239,7 +240,7 @@
|
|||
|
||||
//Rot music player
|
||||
const audio = document.createElement("audio");
|
||||
let silent = false;
|
||||
let noMusic = true;
|
||||
audio.loop = true;
|
||||
audio.id = "user-music";
|
||||
audio.style = "display:none;";
|
||||
|
|
Loading…
Reference in a new issue