mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-11 02:31:45 +00:00
59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
import { DefaultPresetList, Preset } from './types';
|
|
|
|
import style from './style.css?inline';
|
|
|
|
import { createPlugin } from '@/utils';
|
|
import { onConfigChange, onMainLoad } from './main';
|
|
import { onPlayerApiReady, onRendererLoad } from './renderer';
|
|
import { onMenu } from './menu';
|
|
import { t } from '@/i18n';
|
|
|
|
export type DownloaderPluginConfig = {
|
|
enabled: boolean;
|
|
downloadFolder?: string;
|
|
downloadOnFinish?: {
|
|
enabled: boolean;
|
|
seconds: number;
|
|
percent: number;
|
|
mode: 'percent' | 'seconds';
|
|
folder?: string;
|
|
};
|
|
selectedPreset: string;
|
|
customPresetSetting: Preset;
|
|
skipExisting: boolean;
|
|
playlistMaxItems?: number;
|
|
};
|
|
|
|
export const defaultConfig: DownloaderPluginConfig = {
|
|
enabled: false,
|
|
downloadFolder: undefined,
|
|
downloadOnFinish: {
|
|
enabled: false,
|
|
seconds: 20,
|
|
percent: 10,
|
|
mode: 'seconds',
|
|
folder: undefined,
|
|
},
|
|
selectedPreset: 'mp3 (256kbps)', // Selected preset
|
|
customPresetSetting: DefaultPresetList['mp3 (256kbps)'], // Presets
|
|
skipExisting: false,
|
|
playlistMaxItems: undefined,
|
|
};
|
|
|
|
export default createPlugin({
|
|
name: () => t('plugins.downloader.name'),
|
|
description: () => t('plugins.downloader.description'),
|
|
restartNeeded: true,
|
|
config: defaultConfig,
|
|
stylesheets: [style],
|
|
menu: onMenu,
|
|
backend: {
|
|
start: onMainLoad,
|
|
onConfigChange,
|
|
},
|
|
renderer: {
|
|
start: onRendererLoad,
|
|
onPlayerApiReady,
|
|
},
|
|
});
|