diff --git a/web/src/lib/settings/defaults.ts b/web/src/lib/settings/defaults.ts index 54a96994..a082adf6 100644 --- a/web/src/lib/settings/defaults.ts +++ b/web/src/lib/settings/defaults.ts @@ -3,7 +3,7 @@ import { defaultLocale } from "$lib/i18n/translations"; import type { CobaltSettings } from "$lib/types/settings"; const defaultSettings: CobaltSettings = { - schemaVersion: 5, + schemaVersion: 6, advanced: { debug: false, useWebCodecs: false, @@ -33,7 +33,9 @@ const defaultSettings: CobaltSettings = { tiktokFullAudio: false, convertGif: true, videoQuality: "1080", + subtitleLang: "none", youtubeVideoCodec: "h264", + youtubeVideoContainer: "auto", youtubeDubLang: "original", youtubeHLS: false, youtubeBetterAudio: false, diff --git a/web/src/lib/types/settings.ts b/web/src/lib/types/settings.ts index 37454183..1d184eec 100644 --- a/web/src/lib/types/settings.ts +++ b/web/src/lib/types/settings.ts @@ -3,15 +3,17 @@ import type { CobaltSettingsV2 } from "$lib/types/settings/v2"; import type { CobaltSettingsV3 } from "$lib/types/settings/v3"; import type { CobaltSettingsV4 } from "$lib/types/settings/v4"; import type { CobaltSettingsV5 } from "$lib/types/settings/v5"; +import type { CobaltSettingsV6 } from "$lib/types/settings/v6"; export * from "$lib/types/settings/v2"; export * from "$lib/types/settings/v3"; export * from "$lib/types/settings/v4"; export * from "$lib/types/settings/v5"; +export * from "$lib/types/settings/v6"; -export type CobaltSettings = CobaltSettingsV5; +export type CobaltSettings = CobaltSettingsV6; -export type AnyCobaltSettings = CobaltSettingsV4 | CobaltSettingsV3 | CobaltSettingsV2 | CobaltSettings; +export type AnyCobaltSettings = CobaltSettingsV5 | CobaltSettingsV4 | CobaltSettingsV3 | CobaltSettingsV2 | CobaltSettings; export type PartialSettings = RecursivePartial; diff --git a/web/src/lib/types/settings/v6.ts b/web/src/lib/types/settings/v6.ts new file mode 100644 index 00000000..762d6a77 --- /dev/null +++ b/web/src/lib/types/settings/v6.ts @@ -0,0 +1,12 @@ +import type { SubtitleLang } from "$lib/settings/audio-sub-language"; +import type { CobaltSettingsV5 } from "$lib/types/settings/v5"; + +export const youtubeVideoContainerOptions = ["auto", "mp4", "webm", "mkv"] as const; + +export type CobaltSettingsV6 = Omit & { + schemaVersion: 6, + save: CobaltSettingsV5['save'] & { + youtubeVideoContainer: typeof youtubeVideoContainerOptions[number]; + subtitleLang: SubtitleLang, + }, +};