mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-05-26 00:55:16 -07:00
f19d93e3ab
- Derive device identity from OS hostname; remove legacy configurable client/device fields - Prevent discovery playback from reloading active item, misreporting pause state, and duplicate overlay restores - Restart stale tray discovery sessions without re-login when server drops SubMiner cast target - Sync tray discovery checkbox state on Linux after CLI/startup/remote-session changes - Stop Discord presence falling back to stream URLs; prime title before tokenized stream loads - Fix picker library discovery when log level is above info - Fix config.example.jsonc trailing commas and array formatting
31 lines
1.6 KiB
TypeScript
31 lines
1.6 KiB
TypeScript
import type { createPlayJellyfinItemInMpvHandler } from './jellyfin-playback-launch';
|
|
|
|
type PlayJellyfinItemInMpvMainDeps = Parameters<typeof createPlayJellyfinItemInMpvHandler>[0];
|
|
|
|
export function createBuildPlayJellyfinItemInMpvMainDepsHandler(
|
|
deps: PlayJellyfinItemInMpvMainDeps,
|
|
) {
|
|
return (): PlayJellyfinItemInMpvMainDeps => ({
|
|
ensureMpvConnectedForPlayback: () => deps.ensureMpvConnectedForPlayback(),
|
|
getMpvClient: () => deps.getMpvClient(),
|
|
resolvePlaybackPlan: (params) => deps.resolvePlaybackPlan(params),
|
|
applyJellyfinMpvDefaults: (mpvClient) => deps.applyJellyfinMpvDefaults(mpvClient),
|
|
showVisibleOverlay: () => deps.showVisibleOverlay(),
|
|
sendMpvCommand: (command: Array<string | number>) => deps.sendMpvCommand(command),
|
|
armQuitOnDisconnect: () => deps.armQuitOnDisconnect(),
|
|
schedule: (callback: () => void, delayMs: number) => deps.schedule(callback, delayMs),
|
|
convertTicksToSeconds: (ticks: number) => deps.convertTicksToSeconds(ticks),
|
|
preloadExternalSubtitles: (params) => deps.preloadExternalSubtitles(params),
|
|
setActivePlayback: (state) => deps.setActivePlayback(state),
|
|
setLastProgressAtMs: (value: number) => deps.setLastProgressAtMs(value),
|
|
reportPlaying: (payload) => deps.reportPlaying(payload),
|
|
showMpvOsd: (text: string) => deps.showMpvOsd(text),
|
|
recordJellyfinPlaybackMetadata: deps.recordJellyfinPlaybackMetadata
|
|
? (metadata) => deps.recordJellyfinPlaybackMetadata!(metadata)
|
|
: undefined,
|
|
updateCurrentMediaTitle: deps.updateCurrentMediaTitle
|
|
? (title) => deps.updateCurrentMediaTitle!(title)
|
|
: undefined,
|
|
});
|
|
}
|