mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-09-01 23:54:31 -07:00
fix(anime): keep browser state in sync and alias HLS segments
- Toggle the player Anime Browser without losing its state - Share active playback state and support rotating fake segment extensions
This commit is contained in:
@@ -8,6 +8,7 @@ import type {
|
||||
AnimeBrowserEpisodeWatchState,
|
||||
AnimeBrowserPlayRequest,
|
||||
AnimeBrowserPlayResult,
|
||||
AnimeBrowserPlaybackState,
|
||||
AnimeBrowserQueueState,
|
||||
AnimeBrowserSearchResult,
|
||||
AnimeBrowserSearchUpdate,
|
||||
@@ -67,6 +68,8 @@ export function createAnimeBrowserAPI(ipcRenderer: AnimeBrowserIpcRenderer): Ani
|
||||
ipcRenderer.invoke(request.animeBrowserClearQueue),
|
||||
getQueue: (): Promise<AnimeBrowserQueueState> =>
|
||||
ipcRenderer.invoke(request.animeBrowserGetQueue),
|
||||
getPlaybackState: (): Promise<AnimeBrowserPlaybackState | null> =>
|
||||
ipcRenderer.invoke(request.animeBrowserGetPlaybackState),
|
||||
isPlaying: (): Promise<boolean> => ipcRenderer.invoke(request.animeBrowserIsPlaying),
|
||||
getPreferences: (sourceId: string): Promise<SourcePreferenceView[]> =>
|
||||
ipcRenderer.invoke(request.animeBrowserGetPreferences, sourceId),
|
||||
@@ -101,5 +104,14 @@ export function createAnimeBrowserAPI(ipcRenderer: AnimeBrowserIpcRenderer): Ani
|
||||
ipcRenderer.on(IPC_CHANNELS.event.animeBrowserQueueState, handler);
|
||||
return () => ipcRenderer.removeListener(IPC_CHANNELS.event.animeBrowserQueueState, handler);
|
||||
},
|
||||
onPlaybackState: (
|
||||
listener: (state: AnimeBrowserPlaybackState | null) => void,
|
||||
): (() => void) => {
|
||||
const handler = (_event: unknown, state: AnimeBrowserPlaybackState | null): void =>
|
||||
listener(state);
|
||||
ipcRenderer.on(IPC_CHANNELS.event.animeBrowserPlaybackState, handler);
|
||||
return () =>
|
||||
ipcRenderer.removeListener(IPC_CHANNELS.event.animeBrowserPlaybackState, handler);
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user