import type { MediaFile, MediaFormat } from "music-server-shared/types"; export interface PlaylistItem extends MediaFile { id: string; //used for determining currently playing item path: string; } export function getItemName(item: Pick): string; export function getItemName(item: Pick | null): string | undefined; export function getItemName(item: Pick | null) { if (!item) return undefined; return item.path.split("/").toReversed()[0]; } export interface Playlist { name: string; items: Omit[]; } export interface PlayerState { isPlaying: boolean; currentTrack: PlaylistItem | null; currentTime: number; volume: number; buffered: { start: number; end: number }[]; rate: number; waitingForStart: boolean; } export interface AppOptions { bitrate: number; format: MediaFormat; enableTranscoding: boolean; disableChunkedTranscoding: boolean; maxTranscodes: number; maxDownloads: number; rememberDir: boolean; hideVolume: boolean; duplicateWarning: boolean; fontResolution: number; hideCover: boolean; }