fix: suppress mpv primary subtitles when visible overlay is enabled

This commit is contained in:
2026-02-26 19:29:51 -08:00
parent 62f53071ec
commit 151752b17a
5 changed files with 10 additions and 8 deletions

View File

@@ -131,7 +131,7 @@ test('dispatchMpvProtocolMessage enforces sub-visibility hidden when overlay sup
);
assert.deepEqual(state.commands.pop(), {
command: ['set_property', 'sub-visibility', false],
command: ['set_property', 'sub-visibility', 'no'],
});
});

View File

@@ -219,11 +219,10 @@ export async function dispatchMpvProtocolMessage(
});
} else if (msg.name === 'sub-visibility') {
if (
deps.shouldBindVisibleOverlayToMpvSubVisibility?.() &&
deps.isVisibleOverlayVisible() &&
asBoolean(msg.data, false)
) {
deps.sendCommand({ command: ['set_property', 'sub-visibility', false] });
deps.sendCommand({ command: ['set_property', 'sub-visibility', 'no'] });
}
} else if (msg.name === 'sub-use-margins') {
deps.emitSubtitleMetricsChange({

View File

@@ -473,8 +473,13 @@ export class MpvIpcClient implements MpvClient {
}
setSubVisibility(visible: boolean): void {
const value = visible ? 'yes' : 'no';
this.send({
command: ['set_property', 'sub-visibility', visible],
command: ['set_property', 'sub-visibility', value],
});
// Compatibility write for mpv command aliases across setups.
this.send({
command: ['set', 'sub-visibility', value],
});
}