mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
Fix renderer overlay loading and modularize renderer
This commit is contained in:
@@ -64,7 +64,11 @@ export {
|
||||
updateVisibleOverlayVisibilityService,
|
||||
} from "./overlay-visibility-service";
|
||||
export { MpvIpcClient, MPV_REQUEST_ID_SECONDARY_SUB_VISIBILITY } from "./mpv-service";
|
||||
export { applyMpvSubtitleRenderMetricsPatchService } from "./mpv-render-metrics-service";
|
||||
export {
|
||||
applyMpvSubtitleRenderMetricsPatchService,
|
||||
DEFAULT_MPV_SUBTITLE_RENDER_METRICS,
|
||||
sanitizeMpvSubtitleRenderMetrics,
|
||||
} from "./mpv-render-metrics-service";
|
||||
export { handleMpvCommandFromIpcService } from "./ipc-command-service";
|
||||
export { createFieldGroupingOverlayRuntimeService } from "./field-grouping-overlay-service";
|
||||
export { createNumericShortcutRuntimeService } from "./numeric-shortcut-service";
|
||||
|
||||
@@ -1,25 +1,13 @@
|
||||
import test from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
import { MpvSubtitleRenderMetrics } from "../../types";
|
||||
import { applyMpvSubtitleRenderMetricsPatchService } from "./mpv-render-metrics-service";
|
||||
import {
|
||||
applyMpvSubtitleRenderMetricsPatchService,
|
||||
DEFAULT_MPV_SUBTITLE_RENDER_METRICS,
|
||||
} from "./mpv-render-metrics-service";
|
||||
|
||||
const BASE: MpvSubtitleRenderMetrics = {
|
||||
subPos: 100,
|
||||
subFontSize: 38,
|
||||
subScale: 1,
|
||||
subMarginY: 34,
|
||||
subMarginX: 19,
|
||||
subFont: "sans-serif",
|
||||
subSpacing: 0,
|
||||
subBold: false,
|
||||
subItalic: false,
|
||||
subBorderSize: 2.5,
|
||||
subShadowOffset: 0,
|
||||
subAssOverride: "yes",
|
||||
subScaleByWindow: true,
|
||||
subUseMargins: true,
|
||||
osdHeight: 720,
|
||||
osdDimensions: null,
|
||||
...DEFAULT_MPV_SUBTITLE_RENDER_METRICS,
|
||||
};
|
||||
|
||||
test("applyMpvSubtitleRenderMetricsPatchService returns unchanged on empty patch", () => {
|
||||
|
||||
@@ -1,6 +1,33 @@
|
||||
import { MpvSubtitleRenderMetrics } from "../../types";
|
||||
import { asBoolean, asFiniteNumber, asString } from "../utils/coerce";
|
||||
|
||||
export const DEFAULT_MPV_SUBTITLE_RENDER_METRICS: MpvSubtitleRenderMetrics = {
|
||||
subPos: 100,
|
||||
subFontSize: 38,
|
||||
subScale: 1,
|
||||
subMarginY: 34,
|
||||
subMarginX: 19,
|
||||
subFont: "sans-serif",
|
||||
subSpacing: 0,
|
||||
subBold: false,
|
||||
subItalic: false,
|
||||
subBorderSize: 2.5,
|
||||
subShadowOffset: 0,
|
||||
subAssOverride: "yes",
|
||||
subScaleByWindow: true,
|
||||
subUseMargins: true,
|
||||
osdHeight: 720,
|
||||
osdDimensions: null,
|
||||
};
|
||||
|
||||
export function sanitizeMpvSubtitleRenderMetrics(
|
||||
current: MpvSubtitleRenderMetrics,
|
||||
patch: Partial<MpvSubtitleRenderMetrics> | null | undefined,
|
||||
): MpvSubtitleRenderMetrics {
|
||||
if (!patch) return current;
|
||||
return updateMpvSubtitleRenderMetricsService(current, patch);
|
||||
}
|
||||
|
||||
export function updateMpvSubtitleRenderMetricsService(
|
||||
current: MpvSubtitleRenderMetrics,
|
||||
patch: Partial<MpvSubtitleRenderMetrics>,
|
||||
|
||||
Reference in New Issue
Block a user