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 @@