From f3be301ee6373b0ad6c3f2e9f1d550fc013e03b8 Mon Sep 17 00:00:00 2001 From: Destiny Date: Tue, 14 May 2024 23:03:23 +0530 Subject: [PATCH] Fixed some bugs and updated ux. Also now the window doesn't freeze when downloading. --- YouTubeToMP3/YouTubeToMP3.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/YouTubeToMP3/YouTubeToMP3.py b/YouTubeToMP3/YouTubeToMP3.py index 5c5012a..a94029b 100644 --- a/YouTubeToMP3/YouTubeToMP3.py +++ b/YouTubeToMP3/YouTubeToMP3.py @@ -5,6 +5,7 @@ from pytube import YouTube import customtkinter as ctk from tkinter import filedialog +import threading def resource_path(relative_path): try: @@ -16,7 +17,11 @@ def resource_path(relative_path): def select_output_folder(): global folder_path - folder_path = filedialog.askdirectory() # Open folder selection dialog + folder_path = filedialog.askdirectory() + if folder_path: + download_info_label.configure(text=f"Selected folder: {folder_path}") + else: + download_info_label.configure(text="No folder selected.") def download_mp3(): video_url = url.get() @@ -60,7 +65,8 @@ def download_mp3(): select_output_folder_button = ctk.CTkButton(master=frame, text="Select Output Folder", command=select_output_folder) select_output_folder_button.place(relx=0.61, rely=0.4, anchor=tkinter.CENTER) -download_button = ctk.CTkButton(master=frame, text="Download MP3", command=download_mp3) +# Deamon=True -> Daemon threads automatically terminate when the main thread (Tkinter's main loop) exits. +download_button = ctk.CTkButton(master=frame, text="Download MP3", command=lambda: threading.Thread(target=download_mp3, daemon=True).start()) download_button.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER) download_info_label = ctk.CTkLabel(master=frame, text="")