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 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 enum FileDisplay { FILENAME = 0, TITLE = 1, TRACKNO_TITLE = 2, } export interface AppOptions { enableTranscoding: boolean; disableChunkedTranscoding: boolean; bitrate: number; format: MediaFormat; maxTranscodes: number; maxDownloads: number; transcodeCovers: boolean; hideVolume: boolean; hideCover: boolean; hidePlaylistCover: boolean; filebrowserDisplay: FileDisplay; playlistDisplay: FileDisplay; controlsDisplay: FileDisplay; fontResolution: number; progressBarHeight: number; rememberDir: boolean; duplicateWarning: boolean; }