feishin/src/main/preload/mpv-player.ts

180 lines
4.5 KiB
TypeScript
Raw Normal View History

2022-12-19 15:59:14 -08:00
import { ipcRenderer, IpcRendererEvent } from 'electron';
import { PlayerData } from '/@/renderer/store';
const initialize = (data: { extraParameters?: string[]; properties?: Record<string, any> }) => {
ipcRenderer.send('player-initialize', data);
};
const restart = (data: { extraParameters?: string[]; properties?: Record<string, any> }) => {
ipcRenderer.send('player-restart', data);
};
const setProperties = (data: Record<string, any>) => {
console.log('Setting property :>>', data);
ipcRenderer.send('player-set-properties', data);
};
2022-12-19 15:59:14 -08:00
const autoNext = (data: PlayerData) => {
ipcRenderer.send('player-auto-next', data);
};
const currentTime = () => {
ipcRenderer.send('player-current-time');
};
2022-12-19 15:59:14 -08:00
const mute = () => {
ipcRenderer.send('player-mute');
};
2022-12-19 15:59:14 -08:00
const next = () => {
ipcRenderer.send('player-next');
};
2022-12-19 15:59:14 -08:00
const pause = () => {
ipcRenderer.send('player-pause');
};
2022-12-19 15:59:14 -08:00
const play = () => {
ipcRenderer.send('player-play');
};
2022-12-19 15:59:14 -08:00
const previous = () => {
ipcRenderer.send('player-previous');
};
2022-12-19 15:59:14 -08:00
const seek = (seconds: number) => {
ipcRenderer.send('player-seek', seconds);
};
2022-12-19 15:59:14 -08:00
const seekTo = (seconds: number) => {
ipcRenderer.send('player-seek-to', seconds);
};
2022-12-19 15:59:14 -08:00
const setQueue = (data: PlayerData) => {
ipcRenderer.send('player-set-queue', data);
};
2022-12-19 15:59:14 -08:00
const setQueueNext = (data: PlayerData) => {
ipcRenderer.send('player-set-queue-next', data);
};
2022-12-19 15:59:14 -08:00
const stop = () => {
ipcRenderer.send('player-stop');
};
2022-12-19 15:59:14 -08:00
const volume = (value: number) => {
ipcRenderer.send('player-volume', value);
};
2022-12-25 00:56:16 -08:00
const quit = () => {
ipcRenderer.send('player-quit');
};
2022-12-19 15:59:14 -08:00
const rendererAutoNext = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-auto-next', cb);
};
const rendererCurrentTime = (cb: (event: IpcRendererEvent, data: number) => void) => {
ipcRenderer.on('renderer-player-current-time', cb);
};
const rendererNext = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-next', cb);
};
const rendererPause = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-pause', cb);
};
const rendererPlay = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-play', cb);
};
const rendererPlayPause = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-play-pause', cb);
};
const rendererPrevious = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-previous', cb);
};
const rendererStop = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-stop', cb);
};
const rendererSkipForward = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-skip-forward', cb);
};
const rendererSkipBackward = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-skip-backward', cb);
};
const rendererVolumeUp = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-volume-up', cb);
};
const rendererVolumeDown = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-volume-down', cb);
};
const rendererVolumeMute = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-volume-mute', cb);
};
const rendererToggleRepeat = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-toggle-repeat', cb);
};
const rendererToggleShuffle = (cb: (event: IpcRendererEvent, data: PlayerData) => void) => {
ipcRenderer.on('renderer-player-toggle-shuffle', cb);
};
2022-12-25 00:56:16 -08:00
const rendererQuit = (cb: (event: IpcRendererEvent) => void) => {
ipcRenderer.on('renderer-player-quit', cb);
};
const rendererError = (cb: (event: IpcRendererEvent, data: string) => void) => {
ipcRenderer.on('renderer-player-error', cb);
};
2022-12-19 15:59:14 -08:00
export const mpvPlayer = {
autoNext,
currentTime,
initialize,
2022-12-19 15:59:14 -08:00
mute,
next,
pause,
play,
previous,
2022-12-25 00:56:16 -08:00
quit,
restart,
2022-12-19 15:59:14 -08:00
seek,
seekTo,
setProperties,
2022-12-19 15:59:14 -08:00
setQueue,
setQueueNext,
stop,
volume,
};
export const mpvPlayerListener = {
rendererAutoNext,
rendererCurrentTime,
rendererError,
2022-12-19 15:59:14 -08:00
rendererNext,
rendererPause,
rendererPlay,
rendererPlayPause,
rendererPrevious,
2022-12-25 00:56:16 -08:00
rendererQuit,
rendererSkipBackward,
rendererSkipForward,
2022-12-19 15:59:14 -08:00
rendererStop,
rendererToggleRepeat,
rendererToggleShuffle,
rendererVolumeDown,
rendererVolumeMute,
rendererVolumeUp,
2022-12-19 15:59:14 -08:00
};