22 lines
447 B
TypeScript
22 lines
447 B
TypeScript
export interface LyricLine {
|
|
time: number; // in seconds
|
|
text: string;
|
|
}
|
|
|
|
export interface TrackData {
|
|
title: string;
|
|
artist: string;
|
|
coverUrl: string;
|
|
audioUrl: string;
|
|
lyrics: LyricLine[];
|
|
lyricsSource?: string; // Optional URL or raw string for deferred parsing
|
|
}
|
|
|
|
export enum PlayerState {
|
|
IDLE = 'IDLE',
|
|
LOADING = 'LOADING',
|
|
PLAYING = 'PLAYING',
|
|
PAUSED = 'PAUSED',
|
|
}
|
|
|
|
export type PlaybackMode = 'SEQUENCE' | 'SHUFFLE'; |