Small fix

This commit is contained in:
Core 2022-09-22 22:50:59 +01:00
parent 50a8524f55
commit 71496052df
No known key found for this signature in database
GPG key ID: 2AB8327FBA02D1C0

View file

@ -144,7 +144,7 @@ const MusicKitInterop = {
const attributes = nowPlayingItem != null ? nowPlayingItem.attributes : {}; const attributes = nowPlayingItem != null ? nowPlayingItem.attributes : {};
attributes.songId = attributes.songId ?? attributes.playParams?.catalogId ?? attributes.playParams?.id; attributes.songId = attributes.songId ?? attributes.playParams?.catalogId ?? attributes.playParams?.id;
attributes.kind = nowPlayingItem?.type ?? attributes.type ?? attributes.playParams.kind ?? ""; attributes.kind = nowPlayingItem?.type ?? attributes?.type ?? attributes.playParams?.kind ?? "";
attributes.status = nowPlayingItem == null ? null : !!isPlayingExport; attributes.status = nowPlayingItem == null ? null : !!isPlayingExport;
attributes.name = attributes?.name ?? "no-title-found"; attributes.name = attributes?.name ?? "no-title-found";
attributes.artwork = attributes?.artwork ?? { url: "" }; attributes.artwork = attributes?.artwork ?? { url: "" };
@ -229,42 +229,38 @@ const MusicKitInterop = {
initMediaSession: () => { initMediaSession: () => {
if ("mediaSession" in navigator) { if ("mediaSession" in navigator) {
const defaultSkipTime = 10;
console.debug("[cider:preload] [initMediaSession] Media Session API supported"); console.debug("[cider:preload] [initMediaSession] Media Session API supported");
navigator.mediaSession.setActionHandler("play", () => { navigator.mediaSession.setActionHandler("play", () => {
MusicKitInterop.play(); MusicKitInterop.play();
console.log("[cider:preload] [initMediaSession] Play");
}); });
navigator.mediaSession.setActionHandler("pause", () => { navigator.mediaSession.setActionHandler("pause", () => {
MusicKitInterop.pause(); MusicKitInterop.pause();
console.log("[cider:preload] [initMediaSession] Pause");
}); });
navigator.mediaSession.setActionHandler("stop", () => { navigator.mediaSession.setActionHandler("stop", () => {
MusicKit.getInstance().stop(); MusicKit.getInstance().stop();
console.log("[cider:preload] [initMediaSession] Stop");
}); });
navigator.mediaSession.setActionHandler("seekbackward", (details) => { navigator.mediaSession.setActionHandler("seekbackward", (details) => {
const skipTime = details.seekOffset || defaultSkipTime; if (details.seekOffset) {
MusicKit.getInstance().seekToTime(Math.max(MusicKit.getInstance().currentPlaybackTime - skipTime, 0)); MusicKit.getInstance().seekToTime(Math.max(MusicKit.getInstance().currentPlaybackTime - details.seekOffset, 0));
console.log(`[cider:preload] [initMediaSession] Seek Backward ${skipTime}`); } else {
MusicKit.getInstance().seekBackward();
}
}); });
navigator.mediaSession.setActionHandler("seekforward", (details) => { navigator.mediaSession.setActionHandler("seekforward", (details) => {
const skipTime = details.seekOffset || defaultSkipTime; if (details.seekOffset) {
MusicKit.getInstance().seekToTime(Math.max(MusicKit.getInstance().currentPlaybackTime + skipTime, 0)); MusicKit.getInstance().seekToTime(Math.max(MusicKit.getInstance().currentPlaybackTime + details.seekOffset, 0));
console.log(`[cider:preload] [initMediaSession] Seek Forward ${skipTime}`); } else {
MusicKit.getInstance().seekForward();
}
}); });
navigator.mediaSession.setActionHandler("seekto", ({ seekTime, fastSeek }) => { navigator.mediaSession.setActionHandler("seekto", ({ seekTime, fastSeek }) => {
MusicKit.getInstance().seekToTime(seekTime); MusicKit.getInstance().seekToTime(seekTime);
console.log(`[cider:preload] [initMediaSession] Seek To ${seekTime}`);
}); });
navigator.mediaSession.setActionHandler("previoustrack", () => { navigator.mediaSession.setActionHandler("previoustrack", () => {
MusicKitInterop.previous(); MusicKitInterop.previous();
console.log("[cider:preload] [initMediaSession] Previous Track");
}); });
navigator.mediaSession.setActionHandler("nexttrack", () => { navigator.mediaSession.setActionHandler("nexttrack", () => {
MusicKitInterop.next(); MusicKitInterop.next();
console.log("[cider:preload] [initMediaSession] Next Track");
}); });
} else { } else {
console.debug("[cider:preload] [initMediaSession] Media Session API not supported"); console.debug("[cider:preload] [initMediaSession] Media Session API not supported");