diff --git a/src/App.tsx b/src/App.tsx
index e10dc16..384e2f4 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -59,6 +59,9 @@ export default function App({ children }: { children: React.ReactNode }) {
const PROXY_URL = useSettingsPageStatesStore(state => state.settings.proxy_url);
const VIDEO_FORMAT = useSettingsPageStatesStore(state => state.settings.video_format);
const AUDIO_FORMAT = useSettingsPageStatesStore(state => state.settings.audio_format);
+ const EMBED_VIDEO_METADATA = useSettingsPageStatesStore(state => state.settings.embed_video_metadata);
+ const EMBED_AUDIO_METADATA = useSettingsPageStatesStore(state => state.settings.embed_audio_metadata);
+ const EMBED_AUDIO_THUMBNAIL = useSettingsPageStatesStore(state => state.settings.embed_audio_thumbnail);
const appWindow = getCurrentWebviewWindow()
const navigate = useNavigate();
@@ -194,6 +197,19 @@ export default function App({ children }: { children: React.ReactNode }) {
}
}
+ if (fileType !== 'unknown' && (EMBED_VIDEO_METADATA || EMBED_AUDIO_METADATA)) {
+ if (EMBED_VIDEO_METADATA && (fileType === 'video+audio' || fileType === 'video')) {
+ args.push('--embed-metadata');
+ }
+ if (EMBED_AUDIO_METADATA && fileType === 'audio') {
+ args.push('--embed-metadata');
+ }
+ }
+
+ if (EMBED_AUDIO_THUMBNAIL && fileType === 'audio') {
+ args.push('--embed-thumbnail');
+ }
+
if (resumeState) {
args.push('--continue');
} else {
diff --git a/src/pages/settings.tsx b/src/pages/settings.tsx
index 7b6cb61..c0473a9 100644
--- a/src/pages/settings.tsx
+++ b/src/pages/settings.tsx
@@ -7,7 +7,7 @@ import { Switch } from "@/components/ui/switch";
import { Label } from "@/components/ui/label";
import { Button } from "@/components/ui/button";
import { useToast } from "@/hooks/use-toast";
-import { ArrowDownToLine, ArrowRight, EthernetPort, ExternalLink, FileVideo, Folder, FolderOpen, Loader2, LucideIcon, Monitor, Moon, Radio, RotateCcw, RotateCw, Sun, Terminal, WandSparkles, Wifi, Wrench } from "lucide-react";
+import { ArrowDownToLine, ArrowRight, EthernetPort, ExternalLink, FileVideo, Folder, FolderOpen, Info, Loader2, LucideIcon, Monitor, Moon, Radio, RotateCcw, RotateCw, Sun, Terminal, WandSparkles, Wifi, Wrench } from "lucide-react";
import { cn } from "@/lib/utils";
import { useEffect } from "react";
import { useTheme } from "@/providers/themeProvider";
@@ -64,6 +64,9 @@ export default function SettingsPage() {
const proxyUrl = useSettingsPageStatesStore(state => state.settings.proxy_url);
const videoFormat = useSettingsPageStatesStore(state => state.settings.video_format);
const audioFormat = useSettingsPageStatesStore(state => state.settings.audio_format);
+ const embedVideoMetadata = useSettingsPageStatesStore(state => state.settings.embed_video_metadata);
+ const embedAudioMetadata = useSettingsPageStatesStore(state => state.settings.embed_audio_metadata);
+ const embedAudioThumbnail = useSettingsPageStatesStore(state => state.settings.embed_audio_thumbnail);
const websocketPort = useSettingsPageStatesStore(state => state.settings.websocket_port);
const isChangingWebSocketPort = useSettingsPageStatesStore(state => state.isChangingWebSocketPort);
const setIsChangingWebSocketPort = useSettingsPageStatesStore(state => state.setIsChangingWebSocketPort);
@@ -302,6 +305,11 @@ export default function SettingsPage() {
value="formats"
className="data-[state=active]:bg-primary data-[state=active]:text-primary-foreground justify-start px-3 py-1.5 gap-2"
>
Set maximum number of allowed parallel downloads
@@ -333,7 +341,7 @@ export default function SettingsPage() { />Choose app interface theme
@@ -356,7 +364,7 @@ export default function SettingsPage() {Set default download folder (directory)
@@ -389,7 +397,7 @@ export default function SettingsPage() {Choose in which format the final video file will be saved
@@ -445,7 +453,38 @@ export default function SettingsPage() {Wheather to embed metadata in video/audio files (info, chapters)
+Wheather to embed thumbnail in audio files (as cover art)
+Use proxy for downloads, Unblocks blocked sites in your region (Download speed may affect, Some sites may not work)
diff --git a/src/services/store.ts b/src/services/store.ts index 64cd6be..405ccaa 100644 --- a/src/services/store.ts +++ b/src/services/store.ts @@ -112,6 +112,9 @@ export const useSettingsPageStatesStore = create