diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index adeda5f..8b491c7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,6 +22,11 @@ jobs: - run: pnpm typecheck + - run: pnpm exec tsc --noEmit -p examples/playground/tsconfig.json + + - name: Install media verification tools + run: sudo apt-get update && sudo apt-get install -y ffmpeg + - run: pnpm test:run # Rebuilds dist/ and fails if it drifts from what's committed, @@ -30,6 +35,8 @@ jobs: - run: pnpm check:package - - run: pnpm exec playwright install --with-deps chromium + - run: pnpm check:seo + + - run: pnpm exec playwright install --with-deps chromium webkit - run: pnpm test:e2e diff --git a/README.md b/README.md index e0237b0..4261220 100644 --- a/README.md +++ b/README.md @@ -247,6 +247,18 @@ classic windows, and a live `.wsz` skin picker: pnpm --filter playground dev # http://localhost:5173 ``` +### Transmission 001 + +The playground also includes `/transmission-001`, a finite listening edition +with authored visual chapters, an artist-note detour, and shareable moments. +Its release media are not yet supplied; the route shows a preparation state +until the approved manifest is populated. See [the transmission contract](docs/TRANSMISSION-001.md). + +Custom hosts can use `` +to stop at each track’s end and disable playlist/OS track navigation. The +default remains `playlist`. `seek()` queues positions until metadata is ready; +`retry()` preserves position and play/pause intent. + ## License MIT © Kris Krüg · classic sprite data ported from Webamp (MIT, see `NOTICE`). diff --git a/agentic/contract.json b/agentic/contract.json index 08115d2..cf7fdbc 100644 --- a/agentic/contract.json +++ b/agentic/contract.json @@ -33,15 +33,18 @@ "verification": { "commands": [ "pnpm typecheck", + "pnpm exec tsc --noEmit -p examples/playground/tsconfig.json", "pnpm test:run", "pnpm build", "pnpm check:dist", "pnpm check:package", "pnpm check:seo", + "pnpm test:e2e", "pnpm --filter playground build" ], "playground_applicability": "Run pnpm --filter playground build when the playground is affected; pnpm check:seo also builds the playground." }, + "boundary_scope": "Defaults unless the user explicitly authorizes a bounded action; record that scope in the issue. Never infer merge or release authorization.", "boundaries": { "github_mutations": false, "linear_writes": false, diff --git a/dist/index.cjs b/dist/index.cjs index 3c0ad60..31cab2f 100644 --- a/dist/index.cjs +++ b/dist/index.cjs @@ -17,6 +17,8 @@ function usePlayer() { function PlayerProvider({ tracks, onNowPlaying, + transportMode = "playlist", + onTrackEnded, children }) { const audioRef = react.useRef(null); @@ -52,6 +54,9 @@ function PlayerProvider({ const playbackStatusRef = react.useRef("idle"); const intentRef = react.useRef("cue"); const suppressPauseRef = react.useRef(false); + const metadataReadyRef = react.useRef(false); + const pendingSeekRef = react.useRef(null); + const positionRef = react.useRef(0); const setPlaybackStatus = react.useCallback((status) => { playbackStatusRef.current = status; setPlaybackStatusState(status); @@ -168,24 +173,33 @@ function PlayerProvider({ const trackId = currentIdRef.current; const token = sourceTokenRef.current; if (!el || !trackId) return; - void ctxRef.current?.resume(); - try { - const result = el.play(); - void result?.catch(() => { - if (token !== sourceTokenRef.current || trackId !== currentIdRef.current) return; - setPlaybackStatus("error"); - setPlaybackError({ trackId, code: "play" }); - setPlaying(false); - }); - } catch { - if (token !== sourceTokenRef.current || trackId !== currentIdRef.current) return; + const fail = () => { + if (token !== sourceTokenRef.current || trackId !== currentIdRef.current || intentRef.current !== "play") return; setPlaybackStatus("error"); setPlaybackError({ trackId, code: "play" }); setPlaying(false); + }; + try { + ensureGraph(); + void ctxRef.current?.resume().catch(fail); + const result = el.play(); + void result?.catch(fail); + } catch { + fail(); } - }, [setPlaybackStatus]); + }, [ensureGraph, setPlaybackStatus]); + const applyPendingSeek = react.useCallback(() => { + const el = audioRef.current; + const requested = pendingSeekRef.current; + if (!el || !metadataReadyRef.current || requested === null) return; + const target = Number.isFinite(el.duration) ? Math.min(requested, el.duration) : requested; + el.currentTime = target; + pendingSeekRef.current = null; + positionRef.current = target; + setTime(target); + }, []); const selectTrack = react.useCallback( - (t, intent, reload) => { + (t, intent, reload, position = 0) => { const el = audioRef.current; if (!el || !t.audioUrl) return; sourceTokenRef.current += 1; @@ -193,14 +207,17 @@ function PlayerProvider({ intentRef.current = intent; sourceRef.current = t.audioUrl; setCurrentId(t.id); - setTime(0); + metadataReadyRef.current = false; + pendingSeekRef.current = position; + positionRef.current = position; + setTime(position); setDuration(0); setPlaying(false); setPlaybackError(null); setPlaybackStatus("loading"); suppressPauseRef.current = true; if (reload || el.src !== t.audioUrl) el.src = t.audioUrl; - sourceRef.current = el.currentSrc || el.src || t.audioUrl; + sourceRef.current = el.src; try { el.load(); } catch { @@ -222,7 +239,6 @@ function PlayerProvider({ (id) => { const t = tracks.find((track) => track.id === id); if (!t?.audioUrl) return; - ensureGraph(); if (currentIdRef.current !== id) { selectTrack(t, "play", false); return; @@ -233,12 +249,12 @@ function PlayerProvider({ driveScene(t); attemptPlay(); }, - [attemptPlay, driveScene, ensureGraph, selectTrack, setPlaybackStatus, tracks] + [attemptPlay, driveScene, selectTrack, setPlaybackStatus, tracks] ); - const toggle = react.useCallback(() => { + const play = react.useCallback(() => { const el = audioRef.current; if (!el) return; - if (!currentId) { + if (!currentIdRef.current) { if (playable[0]) playTrack(playable[0].id); return; } @@ -247,19 +263,29 @@ function PlayerProvider({ setPlaybackError(null); setPlaybackStatus("loading"); attemptPlay(); - } else { - el.pause(); } - }, [attemptPlay, currentId, playable, playTrack, setPlaybackStatus]); + }, [attemptPlay, playable, playTrack, setPlaybackStatus]); + const pause = react.useCallback(() => { + intentRef.current = "cue"; + const el = audioRef.current; + if (!el || el.paused) return; + const position = el.currentTime; + el.pause(); + if (ctxRef.current && metadataReadyRef.current) el.currentTime = position; + }, []); + const toggle = react.useCallback(() => { + if (audioRef.current?.paused) play(); + else pause(); + }, [play, pause]); const retry = react.useCallback(() => { const id = currentIdRef.current; const t = id ? tracks.find((track) => track.id === id) : null; if (!t?.audioUrl) return; - selectTrack(t, intentRef.current, true); + selectTrack(t, intentRef.current, true, positionRef.current); }, [selectTrack, tracks]); const step = react.useCallback( (dir) => { - if (playable.length === 0) return; + if (transportMode === "single" || playable.length === 0) return; const i = playable.findIndex((t) => t.id === currentId); let nextIndex; if (shuffleRef.current && playable.length > 1) { @@ -271,14 +297,17 @@ function PlayerProvider({ } playTrack(playable[nextIndex].id); }, - [playable, currentId, playTrack] + [playable, currentId, playTrack, transportMode] ); const next = react.useCallback(() => step(1), [step]); const prev = react.useCallback(() => step(-1), [step]); const seek = react.useCallback((t) => { - const el = audioRef.current; - if (el && Number.isFinite(t)) el.currentTime = t; - }, []); + if (!currentIdRef.current || !Number.isFinite(t)) return; + pendingSeekRef.current = Math.max(0, t); + positionRef.current = pendingSeekRef.current; + setTime(positionRef.current); + applyPendingSeek(); + }, [applyPendingSeek]); const setVolume = react.useCallback((v) => { const el = audioRef.current; const clamped = Math.min(1, Math.max(0, v)); @@ -294,10 +323,10 @@ function PlayerProvider({ } catch { } }; - set("play", () => toggle()); - set("pause", () => toggle()); - set("previoustrack", () => prev()); - set("nexttrack", () => next()); + set("play", play); + set("pause", pause); + set("previoustrack", transportMode === "single" ? null : prev); + set("nexttrack", transportMode === "single" ? null : next); set("seekto", (d) => { if (typeof d.seekTime === "number") seek(d.seekTime); }); @@ -305,7 +334,7 @@ function PlayerProvider({ for (const a of ["play", "pause", "previoustrack", "nexttrack", "seekto"]) set(a, null); }; - }, [toggle, prev, next, seek]); + }, [play, pause, prev, next, seek, transportMode]); react.useEffect(() => { if (typeof navigator !== "undefined" && "mediaSession" in navigator) { navigator.mediaSession.playbackState = playing ? "playing" : "paused"; @@ -323,11 +352,19 @@ function PlayerProvider({ if (detail?.src && detail.src !== currentSource && !currentSource.endsWith(detail.src)) return false; return Boolean(activeSource) && (activeSource === currentSource || currentSource.endsWith(activeSource)); }; - const onTime = () => { - if (currentIdRef.current) setTime(el.currentTime); + const onTime = (event) => { + if (!isCurrentMediaEvent(event) || pendingSeekRef.current !== null) return; + positionRef.current = el.currentTime; + setTime(el.currentTime); }; - const onDur = () => { - if (currentIdRef.current) setDuration(Number.isFinite(el.duration) ? el.duration : 0); + const onDur = (event) => { + if (isCurrentMediaEvent(event)) setDuration(Number.isFinite(el.duration) ? el.duration : 0); + }; + const onMetadata = (event) => { + if (!isCurrentMediaEvent(event)) return; + metadataReadyRef.current = true; + onDur(event); + applyPendingSeek(); }; const onLoadStart = (event) => { if (!isCurrentMediaEvent(event)) return; @@ -338,10 +375,11 @@ function PlayerProvider({ if (!isCurrentMediaEvent(event)) return; suppressPauseRef.current = false; if (playbackStatusRef.current === "error") return; - if (playbackStatusRef.current !== "playing") setPlaybackStatus("ready"); + if (!el.paused) setPlaybackStatus("playing"); + else if (playbackStatusRef.current !== "paused") setPlaybackStatus("ready"); }; const onPlay = (event) => { - if (!isCurrentMediaEvent(event)) return; + if (!isCurrentMediaEvent(event) || el.paused) return; suppressPauseRef.current = false; setPlaying(true); setPlaybackError(null); @@ -350,10 +388,9 @@ function PlayerProvider({ const onPause = (event) => { if (!isCurrentMediaEvent(event)) return; setPlaying(false); - if (suppressPauseRef.current) return; - if (playbackStatusRef.current !== "error") { - setPlaybackStatus(currentIdRef.current ? "paused" : "idle"); - } + if (suppressPauseRef.current || el.error || playbackStatusRef.current === "error") return; + intentRef.current = "cue"; + setPlaybackStatus(currentIdRef.current ? "paused" : "idle"); }; const onBuffering = (event) => { if (!isCurrentMediaEvent(event)) return; @@ -369,6 +406,15 @@ function PlayerProvider({ }; const onEnded = (event) => { if (!isCurrentMediaEvent(event)) return; + onTrackEnded?.(currentIdRef.current); + if (transportMode === "single") { + intentRef.current = "cue"; + setPlaying(false); + setPlaybackStatus("paused"); + positionRef.current = el.currentTime; + setTime(el.currentTime); + return; + } if (repeatRef.current) { el.currentTime = 0; intentRef.current = "play"; @@ -379,9 +425,11 @@ function PlayerProvider({ }; el.addEventListener("timeupdate", onTime); el.addEventListener("durationchange", onDur); + el.addEventListener("loadedmetadata", onMetadata); el.addEventListener("loadstart", onLoadStart); el.addEventListener("canplay", onCanPlay); el.addEventListener("play", onPlay); + el.addEventListener("playing", onPlay); el.addEventListener("pause", onPause); el.addEventListener("waiting", onBuffering); el.addEventListener("stalled", onBuffering); @@ -390,16 +438,18 @@ function PlayerProvider({ return () => { el.removeEventListener("timeupdate", onTime); el.removeEventListener("durationchange", onDur); + el.removeEventListener("loadedmetadata", onMetadata); el.removeEventListener("loadstart", onLoadStart); el.removeEventListener("canplay", onCanPlay); el.removeEventListener("play", onPlay); + el.removeEventListener("playing", onPlay); el.removeEventListener("pause", onPause); el.removeEventListener("waiting", onBuffering); el.removeEventListener("stalled", onBuffering); el.removeEventListener("error", onError); el.removeEventListener("ended", onEnded); }; - }, [attemptPlay, setPlaybackStatus, step, volume]); + }, [attemptPlay, applyPendingSeek, onTrackEnded, setPlaybackStatus, step, transportMode, volume]); const value = react.useMemo( () => ({ allTracks: tracks, diff --git a/dist/index.cjs.map b/dist/index.cjs.map index 7122d8e..89de277 100644 --- a/dist/index.cjs.map +++ b/dist/index.cjs.map @@ -1 +1 @@ -{"version":3,"sources":["../src/PlayerProvider.tsx","../src/Visualizer.tsx","../src/themes.ts","../src/usePlayerKeyboardShortcuts.ts","../src/modernDeck/EqualizerPanel.tsx","../src/modernDeck/PlaylistPanel.tsx","../src/usePrefersReducedMotion.ts","../src/modernDeck/Spectrum.tsx","../src/modernDeck/Transport.tsx","../src/modernDeck/useDeckWindowState.ts","../src/WinampPlayer.tsx","../src/classic/font.ts","../src/classic/skinSprites.ts","../src/classic/skinParser.ts","../src/classic/useSkin.ts","../src/classic/SkinContext.tsx","../src/classic/Sprite.tsx","../src/classic/Slider.tsx","../src/classic/readouts.tsx","../src/classic/ClassicVisualizer.tsx","../src/classic/PlaybackStatus.tsx","../src/classic/usePersistedState.ts","../src/classic/ClassicWinampPlayer.tsx","../src/classic/ClassicEqWindow.tsx","../src/classic/ClassicPlaylistWindow.tsx","../src/classic/skinMuseum.ts"],"names":["createContext","useContext","useRef","useState","useCallback","useMemo","prev","next","useEffect","jsxs","jsx","currentId","time","duration","volume","useDragControls","useMotionValue","useId","Fragment","motion","placed","W","H","SHADE_H"],"mappings":"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","file":"index.cjs","sourcesContent":["\"use client\";\n\nimport {\n createContext,\n type ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type {\n NowPlaying,\n PlaybackError,\n PlaybackStatus,\n PlayerTrack,\n} from \"./types\";\n\n// Classic 10-band graphic-EQ centre frequencies (Winamp/ISO octave spacing).\nexport const EQ_BANDS = [60, 170, 310, 600, 1000, 3000, 6000, 12000, 14000, 16000];\nexport const EQ_MAX_DB = 12;\n\ntype PlayerValue = {\n allTracks: PlayerTrack[];\n currentId: string | null;\n playing: boolean;\n playbackStatus: PlaybackStatus;\n playbackError: PlaybackError | null;\n time: number;\n duration: number;\n volume: number;\n analyser: AnalyserNode | null;\n bpm: number | null;\n eqGains: number[];\n eqEnabled: boolean;\n preamp: number;\n balance: number;\n shuffle: boolean;\n repeat: boolean;\n setEqGain: (band: number, db: number) => void;\n setEqGains: (gains: number[]) => void;\n setEqEnabled: (on: boolean) => void;\n setPreamp: (db: number) => void;\n setBalance: (v: number) => void;\n setShuffle: (on: boolean) => void;\n setRepeat: (on: boolean) => void;\n cue: (id: string) => void;\n playTrack: (id: string) => void;\n retry: () => void;\n toggle: () => void;\n next: () => void;\n prev: () => void;\n seek: (t: number) => void;\n setVolume: (v: number) => void;\n};\n\nconst PlayerContext = createContext(null);\n\nexport function usePlayer(): PlayerValue {\n const ctx = useContext(PlayerContext);\n if (!ctx) throw new Error(\"usePlayer must be used within \");\n return ctx;\n}\n\nexport function PlayerProvider({\n tracks,\n onNowPlaying,\n children,\n}: {\n tracks: PlayerTrack[];\n /** Optional hook so a host app can react to the playing track (e.g. drive an\n * ambient scene) without the player depending on anything app-specific. */\n onNowPlaying?: (info: NowPlaying) => void;\n children: ReactNode;\n}) {\n const audioRef = useRef(null);\n const ctxRef = useRef(null);\n const srcRef = useRef(null);\n const analyserRef = useRef(null);\n const eqRef = useRef([]);\n const preampRef = useRef(null);\n const pannerRef = useRef(null);\n\n const [currentId, setCurrentId] = useState(null);\n const [playing, setPlaying] = useState(false);\n const [playbackStatus, setPlaybackStatusState] = useState(\"idle\");\n const [playbackError, setPlaybackError] = useState(null);\n const [time, setTime] = useState(0);\n const [duration, setDuration] = useState(0);\n const [volume, setVolumeState] = useState(0.85);\n const [analyser, setAnalyser] = useState(null);\n const [eqGains, setEqGainsState] = useState(() => EQ_BANDS.map(() => 0));\n const [eqEnabled, setEqEnabledState] = useState(true);\n const [preamp, setPreampState] = useState(0);\n const [balance, setBalanceState] = useState(0);\n const [shuffle, setShuffleState] = useState(false);\n const [repeat, setRepeatState] = useState(false);\n // Mirrors of state, updated only inside the setters (never during render) so\n // the lazily-built graph + event handlers pick up values without stale closures.\n const eqGainsRef = useRef(EQ_BANDS.map(() => 0));\n const eqEnabledRef = useRef(true);\n const preampRefDb = useRef(0);\n const balanceRefV = useRef(0);\n const shuffleRef = useRef(false);\n const repeatRef = useRef(false);\n const currentIdRef = useRef(null);\n const sourceRef = useRef(\"\");\n const sourceTokenRef = useRef(0);\n const playbackStatusRef = useRef(\"idle\");\n const intentRef = useRef<\"cue\" | \"play\">(\"cue\");\n const suppressPauseRef = useRef(false);\n\n const setPlaybackStatus = useCallback((status: PlaybackStatus) => {\n playbackStatusRef.current = status;\n setPlaybackStatusState(status);\n }, []);\n\n // Linear gain a peaking filter (or preamp) should apply for a dB value.\n const dbToGain = (db: number) => 10 ** (db / 20);\n\n // Only tracks with a real audio file can be played; the rest still appear in\n // the playlist (dimmed) so the deck shows the whole album.\n const playable = useMemo(() => tracks.filter((t) => t.audioUrl), [tracks]);\n const current = currentId ? tracks.find((t) => t.id === currentId) ?? null : null;\n\n // Lazily build the Web Audio graph on the first user-initiated play\n // (browsers block AudioContext until a gesture). createMediaElementSource may\n // only run once per element, so guard with the ref.\n const ensureGraph = useCallback(() => {\n const el = audioRef.current;\n if (!el || ctxRef.current) return;\n const AC =\n window.AudioContext ||\n (window as unknown as { webkitAudioContext?: typeof AudioContext })\n .webkitAudioContext;\n if (!AC) return;\n const ac = new AC();\n const src = ac.createMediaElementSource(el);\n const an = ac.createAnalyser();\n an.fftSize = 128;\n an.smoothingTimeConstant = 0.82;\n\n // src → preamp → eq0 → … → eq9 → analyser → destination.\n // Preamp + peaking filters default to passthrough and pick up any value the\n // user set before the graph existed. EQ filter gains are 0 dB when disabled.\n const preampNode = ac.createGain();\n preampNode.gain.value = dbToGain(preampRefDb.current);\n const filters = EQ_BANDS.map((freq, i) => {\n const f = ac.createBiquadFilter();\n f.type = \"peaking\";\n f.frequency.value = freq;\n f.Q.value = 1;\n f.gain.value = eqEnabledRef.current ? eqGainsRef.current[i] ?? 0 : 0;\n return f;\n });\n src.connect(preampNode);\n const tail = filters.reduce((prev, f) => {\n prev.connect(f);\n return f;\n }, preampNode);\n tail.connect(an);\n // Optional stereo balance after the analyser; not all engines have it.\n if (typeof ac.createStereoPanner === \"function\") {\n const panner = ac.createStereoPanner();\n panner.pan.value = balanceRefV.current;\n an.connect(panner);\n panner.connect(ac.destination);\n pannerRef.current = panner;\n } else {\n an.connect(ac.destination);\n }\n\n ctxRef.current = ac;\n srcRef.current = src;\n analyserRef.current = an;\n eqRef.current = filters;\n preampRef.current = preampNode;\n setAnalyser(an);\n }, []);\n\n const setEqGain = useCallback((band: number, db: number) => {\n const clamped = Math.max(-EQ_MAX_DB, Math.min(EQ_MAX_DB, db));\n if (eqGainsRef.current[band] === clamped) return;\n const next = eqGainsRef.current.slice();\n next[band] = clamped;\n eqGainsRef.current = next;\n setEqGainsState(next);\n const f = eqRef.current[band];\n if (f && eqEnabledRef.current) f.gain.value = clamped;\n }, []);\n\n const setEqGains = useCallback((gains: number[]) => {\n const norm = EQ_BANDS.map((_, i) =>\n Math.max(-EQ_MAX_DB, Math.min(EQ_MAX_DB, gains[i] ?? 0)),\n );\n eqGainsRef.current = norm;\n setEqGainsState(norm);\n if (!eqEnabledRef.current) return;\n norm.forEach((g, i) => {\n const f = eqRef.current[i];\n if (f) f.gain.value = g;\n });\n }, []);\n\n const setEqEnabled = useCallback((on: boolean) => {\n eqEnabledRef.current = on;\n setEqEnabledState(on);\n // Bypass = flat filters; the stored gains are restored when re-enabled.\n eqRef.current.forEach((f, i) => {\n f.gain.value = on ? eqGainsRef.current[i] ?? 0 : 0;\n });\n }, []);\n\n const setPreamp = useCallback((db: number) => {\n const clamped = Math.max(-EQ_MAX_DB, Math.min(EQ_MAX_DB, db));\n preampRefDb.current = clamped;\n setPreampState(clamped);\n if (preampRef.current) preampRef.current.gain.value = dbToGain(clamped);\n }, []);\n\n const setBalance = useCallback((v: number) => {\n const clamped = Math.min(1, Math.max(-1, v));\n balanceRefV.current = clamped;\n setBalanceState(clamped);\n if (pannerRef.current) pannerRef.current.pan.value = clamped;\n }, []);\n\n const setShuffle = useCallback((on: boolean) => {\n shuffleRef.current = on;\n setShuffleState(on);\n }, []);\n\n const setRepeat = useCallback((on: boolean) => {\n repeatRef.current = on;\n setRepeatState(on);\n }, []);\n\n const driveScene = useCallback(\n (t: PlayerTrack) => {\n onNowPlaying?.({ bpm: t.bpm, accent: t.art.palette[0] });\n // OS media controls / lock-screen metadata (feature-detected).\n if (typeof navigator !== \"undefined\" && \"mediaSession\" in navigator) {\n navigator.mediaSession.metadata = new MediaMetadata({\n title: t.title,\n artist: t.person,\n artwork: t.coverImage ? [{ src: t.coverImage }] : [],\n });\n }\n },\n [onNowPlaying],\n );\n\n const attemptPlay = useCallback(() => {\n const el = audioRef.current;\n const trackId = currentIdRef.current;\n const token = sourceTokenRef.current;\n if (!el || !trackId) return;\n void ctxRef.current?.resume();\n try {\n const result = el.play();\n void result?.catch(() => {\n if (token !== sourceTokenRef.current || trackId !== currentIdRef.current) return;\n setPlaybackStatus(\"error\");\n setPlaybackError({ trackId, code: \"play\" });\n setPlaying(false);\n });\n } catch {\n if (token !== sourceTokenRef.current || trackId !== currentIdRef.current) return;\n setPlaybackStatus(\"error\");\n setPlaybackError({ trackId, code: \"play\" });\n setPlaying(false);\n }\n }, [setPlaybackStatus]);\n\n const selectTrack = useCallback(\n (t: PlayerTrack, intent: \"cue\" | \"play\", reload: boolean) => {\n const el = audioRef.current;\n if (!el || !t.audioUrl) return;\n sourceTokenRef.current += 1;\n currentIdRef.current = t.id;\n intentRef.current = intent;\n sourceRef.current = t.audioUrl;\n setCurrentId(t.id);\n setTime(0);\n setDuration(0);\n setPlaying(false);\n setPlaybackError(null);\n setPlaybackStatus(\"loading\");\n suppressPauseRef.current = true;\n if (reload || el.src !== t.audioUrl) el.src = t.audioUrl;\n sourceRef.current = el.currentSrc || el.src || t.audioUrl;\n try {\n el.load();\n } catch {\n // jsdom does not implement media loading; browsers do.\n }\n driveScene(t);\n if (intent === \"play\") attemptPlay();\n },\n [attemptPlay, driveScene, setPlaybackStatus],\n );\n\n // Prime a track (load + select) WITHOUT playing — browsers block autoplay on\n // load, so a deep link can only ready the deck on that song, not start it.\n const cue = useCallback(\n (id: string) => {\n const t = tracks.find((track) => track.id === id);\n if (!t?.audioUrl || currentIdRef.current === id) return;\n selectTrack(t, \"cue\", false);\n },\n [tracks, selectTrack],\n );\n\n const playTrack = useCallback(\n (id: string) => {\n const t = tracks.find((track) => track.id === id);\n if (!t?.audioUrl) return;\n ensureGraph();\n if (currentIdRef.current !== id) {\n selectTrack(t, \"play\", false);\n return;\n }\n intentRef.current = \"play\";\n setPlaybackError(null);\n setPlaybackStatus(\"loading\");\n driveScene(t);\n attemptPlay();\n },\n [attemptPlay, driveScene, ensureGraph, selectTrack, setPlaybackStatus, tracks],\n );\n\n const toggle = useCallback(() => {\n const el = audioRef.current;\n if (!el) return;\n if (!currentId) {\n if (playable[0]) playTrack(playable[0].id);\n return;\n }\n if (el.paused) {\n intentRef.current = \"play\";\n setPlaybackError(null);\n setPlaybackStatus(\"loading\");\n attemptPlay();\n } else {\n el.pause();\n }\n }, [attemptPlay, currentId, playable, playTrack, setPlaybackStatus]);\n\n const retry = useCallback(() => {\n const id = currentIdRef.current;\n const t = id ? tracks.find((track) => track.id === id) : null;\n if (!t?.audioUrl) return;\n selectTrack(t, intentRef.current, true);\n }, [selectTrack, tracks]);\n\n const step = useCallback(\n (dir: 1 | -1) => {\n if (playable.length === 0) return;\n const i = playable.findIndex((t) => t.id === currentId);\n let nextIndex: number;\n if (shuffleRef.current && playable.length > 1) {\n // Random track other than the current one.\n do {\n nextIndex = Math.floor(Math.random() * playable.length);\n } while (nextIndex === i);\n } else {\n nextIndex =\n i === -1\n ? dir === 1\n ? 0\n : playable.length - 1\n : (i + dir + playable.length) % playable.length;\n }\n playTrack(playable[nextIndex].id);\n },\n [playable, currentId, playTrack],\n );\n\n const next = useCallback(() => step(1), [step]);\n const prev = useCallback(() => step(-1), [step]);\n\n const seek = useCallback((t: number) => {\n const el = audioRef.current;\n if (el && Number.isFinite(t)) el.currentTime = t;\n }, []);\n\n const setVolume = useCallback((v: number) => {\n const el = audioRef.current;\n const clamped = Math.min(1, Math.max(0, v));\n if (el) el.volume = clamped;\n setVolumeState(clamped);\n }, []);\n\n // OS media-key / lock-screen action handlers (feature-detected, bound once).\n useEffect(() => {\n if (typeof navigator === \"undefined\" || !(\"mediaSession\" in navigator)) return;\n const ms = navigator.mediaSession;\n const set = (action: MediaSessionAction, handler: MediaSessionActionHandler | null) => {\n try {\n ms.setActionHandler(action, handler);\n } catch {\n // some actions aren't supported in all browsers\n }\n };\n set(\"play\", () => toggle());\n set(\"pause\", () => toggle());\n set(\"previoustrack\", () => prev());\n set(\"nexttrack\", () => next());\n set(\"seekto\", (d) => {\n if (typeof d.seekTime === \"number\") seek(d.seekTime);\n });\n return () => {\n for (const a of [\"play\", \"pause\", \"previoustrack\", \"nexttrack\", \"seekto\"] as const)\n set(a, null);\n };\n }, [toggle, prev, next, seek]);\n\n // Reflect play state on the OS media session.\n useEffect(() => {\n if (typeof navigator !== \"undefined\" && \"mediaSession\" in navigator) {\n navigator.mediaSession.playbackState = playing ? \"playing\" : \"paused\";\n }\n }, [playing]);\n\n // Wire the single