[enhancement]: Support disabling MPV entirely

Supports running Feishin solely using web audio (useful for clients with problems with MPV).
Also moves save/restore queue to utils, as MPV object is now optional
This commit is contained in:
Kendall Garner
2024-02-11 13:56:29 -08:00
parent ae8fc6df13
commit f82da2e76b
10 changed files with 127 additions and 74 deletions
+22
View File
@@ -1,9 +1,31 @@
import { IpcRendererEvent, ipcRenderer } from 'electron';
import { isMacOS, isWindows, isLinux } from '../utils';
import { PlayerState } from '/@/renderer/store';
const saveQueue = (data: Record<string, any>) => {
ipcRenderer.send('player-save-queue', data);
};
const restoreQueue = () => {
ipcRenderer.send('player-restore-queue');
};
const onSaveQueue = (cb: (event: IpcRendererEvent) => void) => {
ipcRenderer.on('renderer-save-queue', cb);
};
const onRestoreQueue = (cb: (event: IpcRendererEvent, data: Partial<PlayerState>) => void) => {
ipcRenderer.on('renderer-restore-queue', cb);
};
export const utils = {
isLinux,
isMacOS,
isWindows,
onRestoreQueue,
onSaveQueue,
restoreQueue,
saveQueue,
};
export type Utils = typeof utils;