Fixed host location error, more updates to webtest

This commit is contained in:
Djkáťo 2023-08-06 23:14:42 +02:00
parent 9bf138561e
commit eb45a6ec16
2 changed files with 30 additions and 46 deletions

View file

@ -37,26 +37,26 @@ db.add([
duration: 252, duration: 252,
name: "Star", name: "Star",
remix_artists: [new Ref(RefTo.Artists, 5)], remix_artists: [new Ref(RefTo.Artists, 5)],
url: new URL("http://127.0.0.1:4200/Machinedrum, Tanerelle & Mono Poly - Star (IMANU Remix) final.mp3") url: new URL("http://" + window.location.host + "/Machinedrum, Tanerelle & Mono Poly - Star (IMANU Remix) final.mp3")
}), }),
new Song({ new Song({
//If you don't like guessing the IDs, then this is also a way to do it //If you don't like guessing the IDs, then this is also a way to do it
artists: [new Ref(RefTo.Artists, db.artists.find((a) => a.name == "Jamie xx")!.id!)], artists: [new Ref(RefTo.Artists, db.artists.find((a) => a.name == "Jamie xx")!.id!)],
duration: 331, duration: 331,
name: "Sleep Sound", name: "Sleep Sound",
url: new URL("http://127.0.0.1:4200/Jamie xx - Sleep Sound.mp3") url: new URL("http://" + window.location.host + "/Jamie xx - Sleep Sound.mp3")
}), }),
new Song({ new Song({
artists: [new Ref(RefTo.Artists, 1)], artists: [new Ref(RefTo.Artists, 1)],
duration: 75, duration: 75,
name: "wish", name: "wish",
url: new URL("http://127.0.0.1:4200/janz - wish.mp3") url: new URL("http://" + window.location.host + "/janz - wish.mp3")
}), }),
new Song({ new Song({
artists: [new Ref(RefTo.Artists, 10)], artists: [new Ref(RefTo.Artists, 10)],
duration: 4 * 60 + 5, duration: 4 * 60 + 5,
name: "サニーボーイ・ラプソディ", name: "サニーボーイ・ラプソディ",
url: new URL("http://127.0.0.1:4200/16.サニーボーイ・ラプソディ.ogg") url: new URL("http://" + window.location.host + "/16.サニーボーイ・ラプソディ.ogg")
}) })
]) ])

View file

@ -1,85 +1,69 @@
import { db } from "./db"; import { db } from "./db";
import { EuterpeBuilder, Euterpe } from "@euterpe.js/euterpe"; import { EuterpeBuilder } from "@euterpe.js/euterpe";
let is_seeking = false let is_seeking = false
// document.addEventListener("click", start, { once: true }) // document.addEventListener("click", start, { once: true })
let euterpe: Euterpe const euterpe = new EuterpeBuilder(document.querySelector("#audio")!, db)
maybe_start() .build()
function maybe_start() { add_library_to_dom()
if (euterpe) return
euterpe = new EuterpeBuilder(document.querySelector("#audio")!, db) euterpe.preload_song_async(0).then(() => {
.build() document.querySelector("#text-playing")!.innerHTML = euterpe.format_current_song()
add_library_to_dom() }, (e) => console.log(e + " Failed to preload"))
euterpe.preload_song_async(0).then(() => {
document.querySelector("#text-playing")!.innerHTML = euterpe.format_current_song()
}, (e) => console.log(e + " Failed to preload"))
document.querySelector("#seek")?.addEventListener("mouseup", (e) => { document.querySelector("#seek")?.addEventListener("mouseup", (e) => {
euterpe.try_seek_async(e.target?.valueAsNumber).then(() => { console.log("seeked to " + e.target?.valueAsNumber) }, () => { euterpe.try_seek_async(e.target?.valueAsNumber).then(() => { console.log("seeked to " + e.target?.valueAsNumber) }, () => {
alert("Failed seeking! " + e) alert("Failed seeking! " + e)
})
is_seeking = false
}) })
is_seeking = false
})
// Subscriptions to AudioContext changes, eg. time.. // Subscriptions to AudioContext changes, eg. time..
euterpe.on_duration_formatted((time) => { euterpe.on_duration_formatted((time) => {
document.querySelector("#duration")!.innerHTML = time document.querySelector("#duration")!.innerHTML = time
document.querySelector("#seek")!.max = "" + euterpe.current_song_duration document.querySelector("#seek")!.max = "" + euterpe.current_song_duration
}) })
euterpe.on_time_tick_formatted((time) => { euterpe.on_time_tick_formatted((time) => {
document.querySelector("#current")!.innerHTML = time document.querySelector("#current")!.innerHTML = time
}) })
euterpe.on_time_tick((time) => { euterpe.on_time_tick((time) => {
if (is_seeking) return if (is_seeking) return
document.querySelector("#seek")!.value = "" + time document.querySelector("#seek")!.value = "" + time
dev_queue_update() dev_queue_update()
dev_history_update() dev_history_update()
}) })
}
document.querySelector("#previous")?.addEventListener("click", () => { document.querySelector("#previous")?.addEventListener("click", () => {
maybe_start()
euterpe.previous_song_async().then(() => { euterpe.previous_song_async().then(() => {
document.querySelector("#text-playing")!.innerHTML = euterpe.format_current_song() document.querySelector("#text-playing")!.innerHTML = euterpe.format_current_song()
}, (e) => alert(e + "Failed to change song")) }, (e) => alert(e + "Failed to change song"))
}) })
document.querySelector("#next")?.addEventListener("click", () => { document.querySelector("#next")?.addEventListener("click", () => {
maybe_start()
euterpe.next_song_async().then(() => { euterpe.next_song_async().then(() => {
document.querySelector("#text-playing")!.innerHTML = euterpe.format_current_song() document.querySelector("#text-playing")!.innerHTML = euterpe.format_current_song()
}, (e) => alert(e + "Failed to change song")) }, (e) => alert(e + "Failed to change song"))
}) })
document.querySelector("#play")?.addEventListener("click", () => { document.querySelector("#play")?.addEventListener("click", () => {
maybe_start()
euterpe.play_async().catch((e) => alert("Failed to play, " + e)) euterpe.play_async().catch((e) => alert("Failed to play, " + e))
}) })
document.querySelector("#pause")?.addEventListener("click", () => { document.querySelector("#pause")?.addEventListener("click", () => {
maybe_start()
euterpe.pause() euterpe.pause()
}) })
document.querySelector("#mute")?.addEventListener("click", () => { document.querySelector("#mute")?.addEventListener("click", () => {
maybe_start()
euterpe.mute() euterpe.mute()
}) })
document.querySelector("#unmute")?.addEventListener("click", () => { document.querySelector("#unmute")?.addEventListener("click", () => {
maybe_start()
euterpe.unmute() euterpe.unmute()
}) })
document.querySelector("#toggle-mute")?.addEventListener("click", () => { document.querySelector("#toggle-mute")?.addEventListener("click", () => {
maybe_start()
euterpe.mute_toggle() euterpe.mute_toggle()
}) })
document.querySelector("#toggle-play")?.addEventListener("click", () => { document.querySelector("#toggle-play")?.addEventListener("click", () => {
maybe_start()
euterpe.play_toggle_async().catch((e) => alert("failed to toggle pause/play!" + e)) euterpe.play_toggle_async().catch((e) => alert("failed to toggle pause/play!" + e))
}) })
document.querySelector("#volume")?.addEventListener("input", (e) => { document.querySelector("#volume")?.addEventListener("input", (e) => {
maybe_start()
euterpe.change_volume(e.target?.valueAsNumber) euterpe.change_volume(e.target?.valueAsNumber)
}) })
//disables time updates so the time slider doesn't slip away from user //disables time updates so the time slider doesn't slip away from user