fix: reuse background overlay across mpv reconnects

This commit is contained in:
2026-03-08 16:02:57 -07:00
parent 93cd688625
commit 6a44b54b51
2 changed files with 12 additions and 4 deletions

View File

@@ -5,7 +5,7 @@ import { fail, log } from '../log.js';
import { commandExists, isYoutubeTarget, realpathMaybe, resolvePathMaybe } from '../util.js'; import { commandExists, isYoutubeTarget, realpathMaybe, resolvePathMaybe } from '../util.js';
import { collectVideos, showFzfMenu, showRofiMenu } from '../picker.js'; import { collectVideos, showFzfMenu, showRofiMenu } from '../picker.js';
import { import {
loadSubtitleIntoMpv, cleanupPlaybackSession,
startMpv, startMpv,
startOverlay, startOverlay,
state, state,
@@ -264,9 +264,10 @@ export async function runPlaybackCommand(context: LauncherCommandContext): Promi
} }
const finalize = (code: number | null | undefined) => { const finalize = (code: number | null | undefined) => {
stopOverlay(args); void cleanupPlaybackSession(args).finally(() => {
processAdapter.setExitCode(code ?? 0); processAdapter.setExitCode(code ?? 0);
resolve(); resolve();
});
}; };
if (mpvProc.exitCode !== null && mpvProc.exitCode !== undefined) { if (mpvProc.exitCode !== null && mpvProc.exitCode !== undefined) {

View File

@@ -2524,6 +2524,7 @@ const {
createMpvClientRuntimeService: createMpvClientRuntimeServiceHandler, createMpvClientRuntimeService: createMpvClientRuntimeServiceHandler,
updateMpvSubtitleRenderMetrics: updateMpvSubtitleRenderMetricsHandler, updateMpvSubtitleRenderMetrics: updateMpvSubtitleRenderMetricsHandler,
tokenizeSubtitle, tokenizeSubtitle,
isTokenizationWarmupReady,
createMecabTokenizerAndCheck, createMecabTokenizerAndCheck,
prewarmSubtitleDictionaries, prewarmSubtitleDictionaries,
startBackgroundWarmups, startBackgroundWarmups,
@@ -2563,6 +2564,12 @@ const {
} }
mediaRuntime.updateCurrentMediaPath(path); mediaRuntime.updateCurrentMediaPath(path);
}, },
signalAutoplayReadyIfWarm: (path) => {
if (!isTokenizationWarmupReady()) {
return;
}
maybeSignalPluginAutoplayReady({ text: path, tokens: null }, { forceWhilePaused: true });
},
restoreMpvSubVisibility: () => { restoreMpvSubVisibility: () => {
restoreOverlayMpvSubtitles(); restoreOverlayMpvSubtitles();
}, },