types.ts
⎇
Raw
1import type { AudioFile, MediaFormat } from "music-server-shared/types";
2
3export interface PlaylistItem extends AudioFile {
4 id: string; //used for determining currently playing item
5 path: string; //TODO: change to basePath to avoid redundancy with name
6}
7
8export interface Playlist {
9 name: string;
10 items: Omit<PlaylistItem, "id">[];
11}
12
13export interface PlayerState {
14 isPlaying: boolean;
15 currentTrack: PlaylistItem | null;
16 currentTime: number;
17 volume: number;
18 buffered: number;
19}
20
21export interface AppOptions {
22 bitrate: number;
23 format: MediaFormat;
24 enableTranscoding: boolean;
25 maxTranscodes: number;
26 maxDownloads: number;
27 rememberDir: boolean;
28}
29