types.ts
⎇
Raw
1import type { MediaFile, MediaFormat } from "music-server-shared/types";
2
3export interface PlaylistItem extends MediaFile {
4 id: string; //used for determining currently playing item
5 path: string;
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: { start: number; end: number }[];
19 rate: number;
20 waitingForStart: boolean;
21}
22
23export enum FileDisplay {
24 FILENAME = 0,
25 TITLE = 1,
26 TRACKNO_TITLE = 2,
27}
28
29export interface AppOptions {
30 enableTranscoding: boolean;
31 disableChunkedTranscoding: boolean;
32 bitrate: number;
33 format: MediaFormat;
34 maxTranscodes: number;
35 maxDownloads: number;
36 transcodeCovers: boolean;
37
38 hideVolume: boolean;
39 hideCover: boolean;
40 hidePlaylistCover: boolean;
41 filebrowserDisplay: FileDisplay;
42 playlistDisplay: FileDisplay;
43 controlsDisplay: FileDisplay;
44 fontResolution: number;
45
46 rememberDir: boolean;
47 duplicateWarning: boolean;
48}
49