From c4a1927b7fa767ebbc6da4de7e7ab750132502b6 Mon Sep 17 00:00:00 2001 From: Ollie Taylor <13766232+OllieJT@users.noreply.github.com> Date: Fri, 24 Feb 2023 15:38:33 +0000 Subject: [PATCH] Add metadata store --- src/lib/context/audio-metadata.ts | 8 ++++++++ src/lib/context/audio.ts | 4 ++++ src/lib/index.ts | 2 +- src/routes/+page.svelte | 16 ++++++++++++---- 4 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 src/lib/context/audio-metadata.ts diff --git a/src/lib/context/audio-metadata.ts b/src/lib/context/audio-metadata.ts new file mode 100644 index 0000000..344815f --- /dev/null +++ b/src/lib/context/audio-metadata.ts @@ -0,0 +1,8 @@ +import { writable } from 'svelte/store'; + +export type AudioMetadata = { + title: string; + artwork: string; +}; + +export const audio_metadata = writable(null); diff --git a/src/lib/context/audio.ts b/src/lib/context/audio.ts index d4dbf09..fb7c481 100644 --- a/src/lib/context/audio.ts +++ b/src/lib/context/audio.ts @@ -12,6 +12,7 @@ import { audio_start_at, audio_volume, } from '$lib/context/audio-internals'; +import { audio_metadata, type AudioMetadata } from '$lib/context/audio-metadata'; import { secondsToTimestamp } from '$lib/utility/seconds-to-timestamp'; import { info, warn } from '$pkg/log'; import clamp from 'just-clamp'; @@ -30,6 +31,7 @@ const audio_state = derived( audio_playback_rate, audio_src, audio_volume, + audio_metadata, ], ([ $current_time, @@ -43,6 +45,7 @@ const audio_state = derived( $playback_rate, $src, $volume, + $metadata, ]) => { return { current_time: $current_time, @@ -56,6 +59,7 @@ const audio_state = derived( playback_rate: $playback_rate, src: $src, volume: $volume, + metadata: $metadata, timestamp: secondsToTimestamp($current_time), }; }, diff --git a/src/lib/index.ts b/src/lib/index.ts index a927e69..14bf742 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -1,2 +1,2 @@ export { default as AudioLoader } from '$lib/components/audio-loader.svelte'; -export { audio } from '$lib/context/audio'; +export { audio, type AudioLoadData, type AudioLoadOptions } from '$lib/context/audio'; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index ea813e6..b5880c5 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,10 +1,18 @@