From d08ab54d2b59896158108d829b936acc33a8ccc7 Mon Sep 17 00:00:00 2001 From: Juraj Borza Date: Mon, 30 Jun 2025 12:10:59 +0200 Subject: [PATCH 01/16] list of queued items, unfinished adding of queued items - #30 --- abogen/gui.py | 61 ++++++++++++++++++++++++++++++++++++++++++- abogen/queued_item.py | 15 +++++++++++ 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 abogen/queued_item.py diff --git a/abogen/gui.py b/abogen/gui.py index e7b8a85..5d4b37d 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -4,6 +4,7 @@ import tempfile import platform import base64 import re +from abogen.queued_item import QueuedItem import hf_tracker import hashlib # Added for cache path generation from PyQt5.QtWidgets import ( @@ -560,6 +561,9 @@ class abogen(QWidget): if platform.system() == "Windows": ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID("abogen") + # Queued items list + self.queued_items = [] + self.initUI() self.speed_slider.setValue(int(self.config.get("speed", 1.00) * 100)) self.update_speed_label() @@ -808,6 +812,26 @@ class abogen(QWidget): controls_layout.addLayout(gpu_layout) + + # Manage queue button, start queue button + queue_row = QHBoxLayout() + # Add to queue button + self.btn_add_to_queue = QPushButton("Add to Queue", self) + self.btn_add_to_queue.setFixedHeight(40) + self.btn_add_to_queue.clicked.connect(self.add_to_queue) + queue_row.addWidget(self.btn_add_to_queue) + # Manage queue button + self.btn_manage_queue = QPushButton("Manage Queue", self) + self.btn_manage_queue.setFixedHeight(40) + self.btn_manage_queue.clicked.connect(self.manage_queue) + queue_row.addWidget(self.btn_manage_queue) + # Start queue button + self.btn_start_queue = QPushButton("Start Queue", self) + self.btn_start_queue.setFixedHeight(40) + self.btn_start_queue.clicked.connect(self.start_queue) + queue_row.addWidget(self.btn_start_queue) + controls_layout.addLayout(queue_row) + # Start button self.btn_start = QPushButton("Start", self) self.btn_start.setFixedHeight(60) @@ -982,7 +1006,7 @@ class abogen(QWidget): else: temp_dir = os.path.join(tempfile.gettempdir(), PROGRAM_NAME) os.makedirs(temp_dir, exist_ok=True) - + fd, tmp = tempfile.mkstemp( prefix=f"{base_name}_", suffix=".txt", dir=temp_dir ) @@ -1239,6 +1263,41 @@ class abogen(QWidget): self.progress_bar.repaint() QApplication.processEvents() + def add_to_queue(self): + if not self.selected_file: + self.input_box.set_error("Please add a file.") + return + selected_lang = None + voice_formula = None + actual_subtitle_mode = None + + item = QueuedItem( + file_name=self.selected_file, + lang_code=selected_lang, # TODO copy from start_conversion + speed=self.speed_slider.value() / 100.0, + voice=voice_formula, # TODO copy from start_conversion + save_option=self.save_option, + output_folder=self.selected_output_folder, + subtitle_mode=actual_subtitle_mode, # TODO copy from start_conversion + output_format=self.selected_format, + total_char_count=self.char_count + ) + self.queued_items.append(item) + + def manage_queue(self): + if not self.queued_items: + self.input_box.set_error("Queue is empty.") + return + # TODO show a dialog to manage the queue + pass + + def start_queue(self): + if not self.queued_items: + self.input_box.set_error("Queue is empty.") + return + # TODO process the queue + pass + def start_conversion(self): if not self.selected_file: self.input_box.set_error("Please add a file.") diff --git a/abogen/queued_item.py b/abogen/queued_item.py new file mode 100644 index 0000000..635dd8f --- /dev/null +++ b/abogen/queued_item.py @@ -0,0 +1,15 @@ +# represents a queued item - book, chapters, voice, etc. +from dataclasses import dataclass + +@dataclass +class QueuedItem: + file_name: str + lang_code: str + speed: float + voice: str + save_option: str + output_folder: str + subtitle_mode: str + output_format: str + total_char_count: int + use_gpu: bool \ No newline at end of file From 17936a868e3aa936ad7bcf494b6feb8c5704f7e0 Mon Sep 17 00:00:00 2001 From: Juraj Borza Date: Tue, 1 Jul 2025 13:31:47 +0200 Subject: [PATCH 02/16] queue manager UI - a simple listwidget - #30 --- abogen/gui.py | 31 ++++++++++++++--- abogen/queue_manager_gui.py | 69 +++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 abogen/queue_manager_gui.py diff --git a/abogen/gui.py b/abogen/gui.py index 5d4b37d..6cdf0c1 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -4,6 +4,7 @@ import tempfile import platform import base64 import re +from abogen.queue_manager_gui import QueueManager from abogen.queued_item import QueuedItem import hf_tracker import hashlib # Added for cache path generation @@ -823,11 +824,13 @@ class abogen(QWidget): # Manage queue button self.btn_manage_queue = QPushButton("Manage Queue", self) self.btn_manage_queue.setFixedHeight(40) + self.btn_manage_queue.setEnabled(False) self.btn_manage_queue.clicked.connect(self.manage_queue) queue_row.addWidget(self.btn_manage_queue) # Start queue button self.btn_start_queue = QPushButton("Start Queue", self) self.btn_start_queue.setFixedHeight(40) + self.btn_start_queue.setEnabled(False) self.btn_start_queue.clicked.connect(self.start_queue) queue_row.addWidget(self.btn_start_queue) controls_layout.addLayout(queue_row) @@ -1263,6 +1266,20 @@ class abogen(QWidget): self.progress_bar.repaint() QApplication.processEvents() + def enable_disable_queue_buttons(self): + enabled = bool(self.queued_items) + self.btn_start_queue.setEnabled(enabled) + self.btn_manage_queue.setEnabled(enabled) + + def enqueue(self, item : QueuedItem): + self.queued_items.append(item) + self.update_log((f"Enqueued: {item.file_name}", True)) + # enable start queue button, manage queue button + self.enable_disable_queue_buttons() + + def get_queue(self): + return self.queued_items + def add_to_queue(self): if not self.selected_file: self.input_box.set_error("Please add a file.") @@ -1280,16 +1297,22 @@ class abogen(QWidget): output_folder=self.selected_output_folder, subtitle_mode=actual_subtitle_mode, # TODO copy from start_conversion output_format=self.selected_format, - total_char_count=self.char_count + total_char_count=self.char_count, + use_gpu=self.gpu_ok ) - self.queued_items.append(item) + self.enqueue(item) def manage_queue(self): if not self.queued_items: self.input_box.set_error("Queue is empty.") return - # TODO show a dialog to manage the queue - pass + # show a dialog to manage the queue + dialog = QueueManager(self, self.queued_items) + if dialog.exec_() == QDialog.Accepted: + # TODO take the new queue + self.queued_items = dialog.get_queue() + # re-enable/disable buttons based on queue state + self.enable_disable_queue_buttons() def start_queue(self): if not self.queued_items: diff --git a/abogen/queue_manager_gui.py b/abogen/queue_manager_gui.py new file mode 100644 index 0000000..313ee55 --- /dev/null +++ b/abogen/queue_manager_gui.py @@ -0,0 +1,69 @@ +# a simple window with a list of items in the queue, no checkboxes +# button to remove an item from the queue +# button to clear the queue + +from PyQt5.QtWidgets import ( + QWidget, + QDialog, + QVBoxLayout, + QDialogButtonBox, + QLabel, + QCheckBox, + QSlider, + QPushButton, + QHBoxLayout, + QMessageBox, + QListWidget, +) + + +class QueueManager(QDialog): + def __init__(self, parent, queue: list, title="Queue Manager", size=(400, 300)): + super().__init__() + self.queue = queue + self.parent = parent + layout = QVBoxLayout() + # list of queued items + self.listwidget = QListWidget() + self.listwidget.setSelectionMode(QListWidget.SingleSelection) + self.listwidget.setAlternatingRowColors(True) + # add queue items to the list + self.process_queue() + + layout.addWidget(self.listwidget) + # add remove item button + remove_button = QPushButton("Remove") + remove_button.clicked.connect(self.remove_item) + layout.addWidget(remove_button) + # add clear queue button + clear_button = QPushButton("Clear Queue") + clear_button.clicked.connect(self.clear_queue) + layout.addWidget(clear_button) + + + buttons = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel, self) + buttons.accepted.connect(self.accept) + buttons.rejected.connect(self.reject) + + layout.addWidget(buttons) + + self.setLayout(layout) + + self.setWindowTitle(title) + self.setMinimumSize(*size) + + def process_queue(self): + """Process the queue items.""" + if not self.queue: + return + for item in self.queue: + self.listwidget.addItem(item.file_name) + + # self.listwidget.clicked.connect(self.clicked) + + def remove_item(self): + pass + + def clear_queue(self): + self.queue.clear() + self.listwidget.clear() \ No newline at end of file From ad91e0ec3442325766fa2959e7111d65d6407d47 Mon Sep 17 00:00:00 2001 From: Juraj Borza Date: Wed, 2 Jul 2025 17:15:45 +0200 Subject: [PATCH 03/16] queue manager - can remove items now - #30 --- abogen/gui.py | 2 ++ abogen/queue_manager_gui.py | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/abogen/gui.py b/abogen/gui.py index 6cdf0c1..78527c0 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -1301,6 +1301,8 @@ class abogen(QWidget): use_gpu=self.gpu_ok ) self.enqueue(item) + # Clear input after adding to queue + self.input_box.clear_input() def manage_queue(self): if not self.queued_items: diff --git a/abogen/queue_manager_gui.py b/abogen/queue_manager_gui.py index 313ee55..10ff38b 100644 --- a/abogen/queue_manager_gui.py +++ b/abogen/queue_manager_gui.py @@ -57,13 +57,23 @@ class QueueManager(QDialog): if not self.queue: return for item in self.queue: + # TODO take just the file name from the item, no directories self.listwidget.addItem(item.file_name) - # self.listwidget.clicked.connect(self.clicked) - def remove_item(self): + item = self.listwidget.currentItem() + if not item: + return + found_item = [q for q in self.queue if q.file_name==item.text()][0] + self.queue.remove(found_item) + # rebind the queue to the listwidget + self.listwidget.clear() + self.process_queue() pass def clear_queue(self): self.queue.clear() - self.listwidget.clear() \ No newline at end of file + self.listwidget.clear() + + def get_queue(self): + return self.queue \ No newline at end of file From bc474fecff27138b7308aceb9e812d2d2c8eee7f Mon Sep 17 00:00:00 2001 From: Juraj Borza Date: Wed, 2 Jul 2025 17:53:42 +0200 Subject: [PATCH 04/16] filled in lang, voice, subtitle mode for queued items, converting the queued items in sequence - #30 --- abogen/gui.py | 64 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 59 insertions(+), 5 deletions(-) diff --git a/abogen/gui.py b/abogen/gui.py index 78527c0..811e90e 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -1284,9 +1284,9 @@ class abogen(QWidget): if not self.selected_file: self.input_box.set_error("Please add a file.") return - selected_lang = None - voice_formula = None - actual_subtitle_mode = None + selected_lang = self.get_selected_lang() + voice_formula = self.get_voice_formula() + actual_subtitle_mode = self.get_actual_subtitle_mode() item = QueuedItem( file_name=self.selected_file, @@ -1304,6 +1304,8 @@ class abogen(QWidget): # Clear input after adding to queue self.input_box.clear_input() + + def manage_queue(self): if not self.queued_items: self.input_box.set_error("Queue is empty.") @@ -1311,7 +1313,6 @@ class abogen(QWidget): # show a dialog to manage the queue dialog = QueueManager(self, self.queued_items) if dialog.exec_() == QDialog.Accepted: - # TODO take the new queue self.queued_items = dialog.get_queue() # re-enable/disable buttons based on queue state self.enable_disable_queue_buttons() @@ -1320,9 +1321,59 @@ class abogen(QWidget): if not self.queued_items: self.input_box.set_error("Queue is empty.") return - # TODO process the queue + # convert queued items, one by one - continued in queue_item_conversion_finished + self.convert_first_queued_item() pass + def convert_first_queued_item(self): + if not self.queued_items: + return + # Start conversion for the first item in the queue + item = self.queued_items[0] + self.selected_file = item.file_name + self.selected_lang = item.lang_code + self.speed_slider.setValue(int(item.speed * 100)) + self.selected_voice = item.voice + self.save_option = item.save_option + self.selected_output_folder = item.output_folder + self.subtitle_mode = item.subtitle_mode + self.selected_format = item.output_format + self.char_count = item.total_char_count + self.gpu_ok = item.use_gpu + # remove the first item from the queue + self.queued_items.pop(0) + + # Start conversion for the queued item + self.start_conversion() + + def queue_item_conversion_finished(self, message, output_path): + self.go_back_ui() + self.convert_first_queued_item() + + def get_voice_formula(self): + if self.mixed_voice_state: + formula_components = [ + f"{name}*{weight}" for name, weight in self.mixed_voice_state + ] + return " + ".join(filter(None, formula_components)) + else: + return self.selected_voice + + def get_selected_lang(self): + if self.selected_profile_name: + from voice_profiles import load_profiles + entry = load_profiles().get(self.selected_profile_name, {}) + return entry.get("language") + else: + return self.selected_voice[0] if self.selected_voice else None + + def get_actual_subtitle_mode(self): + return ( + "Disabled" + if not self.subtitle_combo.isEnabled() + else self.subtitle_mode + ) + def start_conversion(self): if not self.selected_file: self.input_box.set_error("Please add a file.") @@ -1439,6 +1490,9 @@ class abogen(QWidget): self.conversion_thread.conversion_finished.connect( self.on_conversion_finished ) + self.conversion_thread.conversion_finished.connect( + self.queue_item_conversion_finished + ) # Connect chapters_detected signal self.conversion_thread.chapters_detected.connect( From d0865015f975292ddb226fe595c4fcb730c5d3ce Mon Sep 17 00:00:00 2001 From: Juraj Borza Date: Tue, 8 Jul 2025 11:49:57 +0200 Subject: [PATCH 05/16] refactored setting selected_lang, actual_subtitle_mode, voice_formula in non-queued conversion - #30 --- abogen/gui.py | 56 ++++++++++++++++++--------------------------------- 1 file changed, 20 insertions(+), 36 deletions(-) diff --git a/abogen/gui.py b/abogen/gui.py index 811e90e..2e7478c 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -1284,18 +1284,18 @@ class abogen(QWidget): if not self.selected_file: self.input_box.set_error("Please add a file.") return - selected_lang = self.get_selected_lang() - voice_formula = self.get_voice_formula() actual_subtitle_mode = self.get_actual_subtitle_mode() + voice_formula = self.get_voice_formula() + selected_lang = self.get_selected_lang(voice_formula) item = QueuedItem( file_name=self.selected_file, - lang_code=selected_lang, # TODO copy from start_conversion + lang_code=selected_lang, speed=self.speed_slider.value() / 100.0, - voice=voice_formula, # TODO copy from start_conversion + voice=voice_formula, save_option=self.save_option, output_folder=self.selected_output_folder, - subtitle_mode=actual_subtitle_mode, # TODO copy from start_conversion + subtitle_mode=actual_subtitle_mode, output_format=self.selected_format, total_char_count=self.char_count, use_gpu=self.gpu_ok @@ -1304,8 +1304,6 @@ class abogen(QWidget): # Clear input after adding to queue self.input_box.clear_input() - - def manage_queue(self): if not self.queued_items: self.input_box.set_error("Queue is empty.") @@ -1359,13 +1357,17 @@ class abogen(QWidget): else: return self.selected_voice - def get_selected_lang(self): + def get_selected_lang(self, voice_formula): if self.selected_profile_name: from voice_profiles import load_profiles entry = load_profiles().get(self.selected_profile_name, {}) - return entry.get("language") + selected_lang = entry.get("language") else: - return self.selected_voice[0] if self.selected_voice else None + selected_lang = self.selected_voice[0] if self.selected_voice else None + # fallback: extract from formula if missing + if not selected_lang: + m = re.search(r"\b([a-z])", voice_formula) + selected_lang = m.group(1) if m else None def get_actual_subtitle_mode(self): return ( @@ -1416,32 +1418,12 @@ class abogen(QWidget): self.btn_cancel.setEnabled(True) # Override subtitle_mode to "Disabled" if subtitle_combo is disabled - actual_subtitle_mode = ( - "Disabled" - if not self.subtitle_combo.isEnabled() - else self.subtitle_mode - ) + actual_subtitle_mode = self.get_actual_subtitle_mode() # if voice formula is not None, use the selected voice - if self.mixed_voice_state: - formula_components = [ - f"{name}*{weight}" for name, weight in self.mixed_voice_state - ] - voice_formula = " + ".join(filter(None, formula_components)) - else: - voice_formula = self.selected_voice + voice_formula = self.get_voice_formula() # determine selected language: use profile setting if profile selected, else voice code - if self.selected_profile_name: - from voice_profiles import load_profiles - - entry = load_profiles().get(self.selected_profile_name, {}) - selected_lang = entry.get("language") - else: - selected_lang = self.selected_voice[0] if self.selected_voice else None - # fallback: extract from formula if missing - if not selected_lang: - m = re.search(r"\b([a-z])", voice_formula) - selected_lang = m.group(1) if m else None + selected_lang = self.get_selected_lang(voice_formula) self.conversion_thread = ConversionThread( self.selected_file, @@ -1490,9 +1472,10 @@ class abogen(QWidget): self.conversion_thread.conversion_finished.connect( self.on_conversion_finished ) - self.conversion_thread.conversion_finished.connect( - self.queue_item_conversion_finished - ) + # TODO remove + # self.conversion_thread.conversion_finished.connect( + # self.queue_item_conversion_finished + # ) # Connect chapters_detected signal self.conversion_thread.chapters_detected.connect( @@ -1569,6 +1552,7 @@ class abogen(QWidget): self.log_text.moveCursor(QTextCursor.End) self.log_text.ensureCursorVisible() save_config(self.config) + self.queue_item_conversion_finished() def reset_ui(self): try: From 95f647fb546f4ecabb2f387b1486cd9168a29ac8 Mon Sep 17 00:00:00 2001 From: Juraj Borza Date: Tue, 8 Jul 2025 13:02:16 +0200 Subject: [PATCH 06/16] disabling add to queue button on start / after queuing an item - fixes #30 --- abogen/gui.py | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/abogen/gui.py b/abogen/gui.py index 2e7478c..f83910a 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -185,10 +185,22 @@ class InputBox(QLabel): name = os.path.basename(file_path) char_count = "N/A" + def parse_size(size_str): + # Use regex to extract the numeric part + match = re.match(r"([\d.]+)", size_str) + if match: + return float(match.group(1)) + raise ValueError(f"Invalid size format: {size_str}") + + # Format numbers with commas def format_num(n): try: - return f"{int(n):,}" + if isinstance(n, str): + size = int(parse_size(n)) + return f"{size:,}" + else: + return f"{n:,}" except Exception: return str(n) @@ -819,6 +831,7 @@ class abogen(QWidget): # Add to queue button self.btn_add_to_queue = QPushButton("Add to Queue", self) self.btn_add_to_queue.setFixedHeight(40) + self.btn_add_to_queue.setEnabled(False) self.btn_add_to_queue.clicked.connect(self.add_to_queue) queue_row.addWidget(self.btn_add_to_queue) # Manage queue button @@ -921,6 +934,8 @@ class abogen(QWidget): file_path # Set the displayed file path for text files ) self.input_box.set_file_info(file_path) + # Enable add to queue button + self.btn_add_to_queue.setEnabled(True) except Exception as e: self._show_error_message_box( "File Dialog Error", f"Could not open file dialog:\n{e}" @@ -1270,6 +1285,7 @@ class abogen(QWidget): enabled = bool(self.queued_items) self.btn_start_queue.setEnabled(enabled) self.btn_manage_queue.setEnabled(enabled) + self.btn_add_to_queue.setEnabled(False) def enqueue(self, item : QueuedItem): self.queued_items.append(item) @@ -1344,11 +1360,11 @@ class abogen(QWidget): # Start conversion for the queued item self.start_conversion() - def queue_item_conversion_finished(self, message, output_path): + def queue_item_conversion_finished(self): self.go_back_ui() self.convert_first_queued_item() - def get_voice_formula(self): + def get_voice_formula(self) -> str: if self.mixed_voice_state: formula_components = [ f"{name}*{weight}" for name, weight in self.mixed_voice_state @@ -1357,7 +1373,7 @@ class abogen(QWidget): else: return self.selected_voice - def get_selected_lang(self, voice_formula): + def get_selected_lang(self, voice_formula) -> str: if self.selected_profile_name: from voice_profiles import load_profiles entry = load_profiles().get(self.selected_profile_name, {}) @@ -1368,8 +1384,9 @@ class abogen(QWidget): if not selected_lang: m = re.search(r"\b([a-z])", voice_formula) selected_lang = m.group(1) if m else None + return selected_lang - def get_actual_subtitle_mode(self): + def get_actual_subtitle_mode(self) -> str: return ( "Disabled" if not self.subtitle_combo.isEnabled() @@ -1472,10 +1489,6 @@ class abogen(QWidget): self.conversion_thread.conversion_finished.connect( self.on_conversion_finished ) - # TODO remove - # self.conversion_thread.conversion_finished.connect( - # self.queue_item_conversion_finished - # ) # Connect chapters_detected signal self.conversion_thread.chapters_detected.connect( @@ -1552,6 +1565,7 @@ class abogen(QWidget): self.log_text.moveCursor(QTextCursor.End) self.log_text.ensureCursorVisible() save_config(self.config) + # Start new queued item, if we're using a queued conversion self.queue_item_conversion_finished() def reset_ui(self): From f2c558c8f40df338050502b9e6e960dfa0fc87bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deniz=20=C5=9Eafak?= Date: Wed, 9 Jul 2025 22:17:08 +0300 Subject: [PATCH 07/16] Imrpovements in queue system and buttons --- abogen/gui.py | 79 +++++++++++++++++++++++-------------- abogen/queue_manager_gui.py | 6 --- 2 files changed, 49 insertions(+), 36 deletions(-) diff --git a/abogen/gui.py b/abogen/gui.py index 452fe8b..2a57274 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -143,11 +143,16 @@ class InputBox(QLabel): self.setStyleSheet(f"QLabel {{ {self.STYLE_DEFAULT} }} QLabel:hover {{ {self.STYLE_DEFAULT_HOVER} }}") self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.setCursor(Qt.PointingHandCursor) + + # Add clear button self.clear_btn = QPushButton("✕", self) self.clear_btn.setFixedSize(28, 28) self.clear_btn.hide() self.clear_btn.clicked.connect(self.clear_input) + + # Add Chapters button self.chapters_btn = QPushButton("Chapters", self) + self.chapters_btn.setStyleSheet("QPushButton { padding: 6px 10px; }") self.chapters_btn.hide() self.chapters_btn.clicked.connect(self.on_chapters_clicked) @@ -156,6 +161,7 @@ class InputBox(QLabel): self.textbox_btn.setStyleSheet("QPushButton { padding: 6px 10px; }") self.textbox_btn.setToolTip("Input text directly instead of using a file") self.textbox_btn.clicked.connect(self.on_textbox_clicked) + # Add Edit button matching the textbox button self.edit_btn = QPushButton("Edit", self) self.edit_btn.setStyleSheet("QPushButton { padding: 6px 10px; }") @@ -180,9 +186,9 @@ class InputBox(QLabel): # Position textbox button at top left self.textbox_btn.move(margin, margin) self.edit_btn.move(margin, margin) - # Position go to folder button at bottom right + # Position go to folder button at bottom right with correct margins self.go_to_folder_btn.move( - self.width() - self.go_to_folder_btn.width(), + self.width() - self.go_to_folder_btn.width() - margin, self.height() - self.go_to_folder_btn.height() - margin, ) @@ -272,6 +278,7 @@ class InputBox(QLabel): else: # PDF - always use Pages self.chapters_btn.setText(f"Pages ({chapter_count})") + # Hide textbox and show edit only for .txt files self.textbox_btn.hide() # Show edit button for txt files directly @@ -287,12 +294,21 @@ class InputBox(QLabel): self.edit_btn.setVisible(should_show_edit) self.go_to_folder_btn.show() + # Enable add to queue button only when file is accepted (input box is green) + self.resizeEvent(None) + if hasattr(self.window(), 'btn_add_to_queue'): + self.window().btn_add_to_queue.setEnabled(True) + + self.chapters_btn.adjustSize() def set_error(self, message): self.setText(message) self.setStyleSheet(f"QLabel {{ {self.STYLE_ERROR} }} QLabel:hover {{ {self.STYLE_ERROR_HOVER} }}") # Show textbox button in error state as well self.textbox_btn.show() + # Disable add to queue button on error + if hasattr(self.window(), 'btn_add_to_queue'): + self.window().btn_add_to_queue.setEnabled(False) def clear_input(self): self.window().selected_file = None @@ -310,6 +326,9 @@ class InputBox(QLabel): self.textbox_btn.show() self.edit_btn.hide() self.go_to_folder_btn.hide() + # Disable add to queue button when input is cleared + if hasattr(self.window(), 'btn_add_to_queue'): + self.window().btn_add_to_queue.setEnabled(False) def _human_readable_size(self, size, decimal_places=2): for unit in ["B", "KB", "MB", "GB", "TB"]: @@ -608,6 +627,7 @@ class abogen(QWidget): # Queued items list self.queued_items = [] + self.current_queue_index = 0 self.initUI() self.speed_slider.setValue(int(self.config.get("speed", 1.00) * 100)) @@ -966,8 +986,6 @@ class abogen(QWidget): file_path # Set the displayed file path for text files ) self.input_box.set_file_info(file_path) - # Enable add to queue button - self.btn_add_to_queue.setEnabled(True) except Exception as e: self._show_error_message_box( "File Dialog Error", f"Could not open file dialog:\n{e}" @@ -1317,7 +1335,6 @@ class abogen(QWidget): enabled = bool(self.queued_items) self.btn_start_queue.setEnabled(enabled) self.btn_manage_queue.setEnabled(enabled) - self.btn_add_to_queue.setEnabled(False) def enqueue(self, item : QueuedItem): self.queued_items.append(item) @@ -1367,34 +1384,36 @@ class abogen(QWidget): if not self.queued_items: self.input_box.set_error("Queue is empty.") return - # convert queued items, one by one - continued in queue_item_conversion_finished - self.convert_first_queued_item() - pass + self.current_queue_index = 0 # Start from the first item + self.start_next_queued_item() - def convert_first_queued_item(self): - if not self.queued_items: - return - # Start conversion for the first item in the queue - item = self.queued_items[0] - self.selected_file = item.file_name - self.selected_lang = item.lang_code - self.speed_slider.setValue(int(item.speed * 100)) - self.selected_voice = item.voice - self.save_option = item.save_option - self.selected_output_folder = item.output_folder - self.subtitle_mode = item.subtitle_mode - self.selected_format = item.output_format - self.char_count = item.total_char_count - self.gpu_ok = item.use_gpu - # remove the first item from the queue - self.queued_items.pop(0) - - # Start conversion for the queued item - self.start_conversion() + def start_next_queued_item(self): + if self.current_queue_index < len(self.queued_items): + item = self.queued_items[self.current_queue_index] + self.selected_file = item.file_name + self.selected_lang = item.lang_code + self.speed_slider.setValue(int(item.speed * 100)) + self.selected_voice = item.voice + self.save_option = item.save_option + self.selected_output_folder = item.output_folder + self.subtitle_mode = item.subtitle_mode + self.selected_format = item.output_format + self.char_count = item.total_char_count + self.gpu_ok = item.use_gpu + self.start_conversion() + else: + # Queue finished, reset index + self.current_queue_index = 0 def queue_item_conversion_finished(self): - self.go_back_ui() - self.convert_first_queued_item() + # Called after each conversion finishes + self.current_queue_index += 1 + if self.current_queue_index < len(self.queued_items): + self.go_back_ui() + self.start_next_queued_item() + else: + self.current_queue_index = 0 # Reset for next time + def get_voice_formula(self) -> str: if self.mixed_voice_state: diff --git a/abogen/queue_manager_gui.py b/abogen/queue_manager_gui.py index 10ff38b..b8da6f3 100644 --- a/abogen/queue_manager_gui.py +++ b/abogen/queue_manager_gui.py @@ -3,16 +3,10 @@ # button to clear the queue from PyQt5.QtWidgets import ( - QWidget, QDialog, QVBoxLayout, QDialogButtonBox, - QLabel, - QCheckBox, - QSlider, QPushButton, - QHBoxLayout, - QMessageBox, QListWidget, ) From 742a77234f4cb5249e5d19e41d0d129ce2d8d930 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deniz=20=C5=9Eafak?= Date: Thu, 10 Jul 2025 04:02:39 +0300 Subject: [PATCH 08/16] Imrpovements in queue manager gui and code --- abogen/constants.py | 9 ++ abogen/conversion.py | 2 +- abogen/gui.py | 135 +++++++++++----- abogen/queue_manager_gui.py | 308 +++++++++++++++++++++++++++++++++--- abogen/queued_item.py | 3 +- 5 files changed, 390 insertions(+), 67 deletions(-) diff --git a/abogen/constants.py b/abogen/constants.py index fca17a0..955bc4b 100644 --- a/abogen/constants.py +++ b/abogen/constants.py @@ -106,9 +106,18 @@ SAMPLE_VOICE_TEXTS = { COLORS = { "BLUE": "#007dff", "RED": "#c0392b", + "GREEN": "#42ad4a", + "GREEN_BG": "rgba(66, 173, 73, 0.1)", + "GREEN_BG_HOVER": "rgba(66, 173, 73, 0.15)", + "GREEN_BORDER": "#42ad4a", + "BLUE_BG": "rgba(0, 102, 255, 0.05)", + "BLUE_BG_HOVER": "rgba(0, 102, 255, 0.1)", + "BLUE_BORDER_HOVER": "#6ab0de", "YELLOW_BACKGROUND": "rgba(255, 221, 51, 0.40)", "GREY_BACKGROUND": "rgba(128, 128, 128, 0.15)", "RED_BACKGROUND": "rgba(232, 78, 60, 0.15)", + "RED_BG": "rgba(232, 78, 60, 0.10)", + "RED_BG_HOVER": "rgba(232, 78, 60, 0.15)", # Theme palette colors "DARK_BG": "#202326", "DARK_BASE": "#141618", diff --git a/abogen/conversion.py b/abogen/conversion.py index 1e6b262..0db8a83 100644 --- a/abogen/conversion.py +++ b/abogen/conversion.py @@ -324,7 +324,7 @@ class ConversionThread(QThread): if hasattr(self, "file_size_str"): self.log_updated.emit(f"- File size: {self.file_size_str}") - self.log_updated.emit(f"- Total characters: {self.total_char_count:,}") + self.log_updated.emit(f"- Total characters: {int(self.total_char_count):,}") self.log_updated.emit( f"- Language: {self.lang_code} ({LANGUAGE_DESCRIPTIONS.get(self.lang_code, 'Unknown')})" diff --git a/abogen/gui.py b/abogen/gui.py index 2a57274..5b620b4 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -124,14 +124,14 @@ class IconProvider(QFileIconProvider): class InputBox(QLabel): # Define CSS styles as class constants - STYLE_DEFAULT = "border:2px dashed #aaa; border-radius:5px; padding:20px; background:rgba(0, 102, 255, 0.05); min-height:100px;" - STYLE_DEFAULT_HOVER = "background:rgba(0, 102, 255, 0.1); border-color:#6ab0de;" + STYLE_DEFAULT = f"border:2px dashed #aaa; border-radius:5px; padding:20px; background:{COLORS['BLUE_BG']}; min-height:100px;" + STYLE_DEFAULT_HOVER = f"background:{COLORS['BLUE_BG_HOVER']}; border-color:{COLORS['BLUE_BORDER_HOVER']};" - STYLE_ACTIVE = "border:2px dashed #42ad4a; border-radius:5px; padding:20px; background:rgba(66, 173, 73, 0.1); min-height:100px;" - STYLE_ACTIVE_HOVER = "background:rgba(66, 173, 73, 0.15); border-color:#42ad4a;" + STYLE_ACTIVE = f"border:2px dashed {COLORS['GREEN']}; border-radius:5px; padding:20px; background:{COLORS['GREEN_BG']}; min-height:100px;" + STYLE_ACTIVE_HOVER = f"background:{COLORS['GREEN_BG_HOVER']}; border-color:{COLORS['GREEN_BORDER']};" - STYLE_ERROR = "border:2px dashed #e74c3c; border-radius:5px; padding:20px; background:rgba(232, 78, 60, 0.10); min-height:100px; color:#c0392b;" - STYLE_ERROR_HOVER = "background:rgba(232, 78, 60, 0.15); border-color:#e74c3c;" + STYLE_ERROR = f"border:2px dashed {COLORS['RED']}; border-radius:5px; padding:20px; background:{COLORS['RED_BG']}; min-height:100px; color:{COLORS['RED']};" + STYLE_ERROR_HOVER = f"background:{COLORS['RED_BG_HOVER']}; border-color:{COLORS['RED']};" def __init__(self, parent=None): super().__init__(parent) @@ -206,7 +206,7 @@ class InputBox(QLabel): size_str = self._human_readable_size(os.path.getsize(file_path)) name = os.path.basename(file_path) - char_count = "N/A" + char_count = 0 def parse_size(size_str): # Use regex to extract the numeric part @@ -653,6 +653,9 @@ class abogen(QWidget): self.selected_lang = entry[0][0] if entry and entry[0] else None if self.save_option == "Choose output folder" and self.selected_output_folder: self.save_path_label.setText(self.selected_output_folder) + self.save_path_label.setStyleSheet( + f"QLabel {{ color: {COLORS['GREEN']}; }}" + ) self.save_path_label.show() self.subtitle_combo.setCurrentText(self.subtitle_mode) # Enable/disable subtitle options based on selected language (profile or voice) @@ -689,6 +692,26 @@ class abogen(QWidget): container_layout.setSpacing(15) self.input_box = InputBox(self) container_layout.addWidget(self.input_box, 1) + # Manage queue button, start queue button + self.queue_row_widget = QWidget(self) # Make queue_row a QWidget + queue_row = QHBoxLayout(self.queue_row_widget) + queue_row.setContentsMargins(0, 0, 0, 0) + self.btn_add_to_queue = QPushButton("Add to Queue", self) + self.btn_add_to_queue.setFixedHeight(40) + self.btn_add_to_queue.setEnabled(False) + self.btn_add_to_queue.clicked.connect(self.add_to_queue) + queue_row.addWidget(self.btn_add_to_queue) + self.btn_manage_queue = QPushButton("Manage Queue", self) + self.btn_manage_queue.setFixedHeight(40) + self.btn_manage_queue.setEnabled(True) + self.btn_manage_queue.clicked.connect(self.manage_queue) + queue_row.addWidget(self.btn_manage_queue) + self.btn_start_queue = QPushButton("Clear Queue", self) + self.btn_start_queue.setFixedHeight(40) + self.btn_start_queue.setEnabled(False) + self.btn_start_queue.clicked.connect(self.clear_queue) + queue_row.addWidget(self.btn_start_queue) + container_layout.addWidget(self.queue_row_widget) self.log_text = QTextEdit(self) self.log_text.setReadOnly(True) self.log_text.setFrameStyle(QTextEdit.NoFrame) @@ -877,29 +900,6 @@ class abogen(QWidget): controls_layout.addLayout(gpu_layout) - - # Manage queue button, start queue button - queue_row = QHBoxLayout() - # Add to queue button - self.btn_add_to_queue = QPushButton("Add to Queue", self) - self.btn_add_to_queue.setFixedHeight(40) - self.btn_add_to_queue.setEnabled(False) - self.btn_add_to_queue.clicked.connect(self.add_to_queue) - queue_row.addWidget(self.btn_add_to_queue) - # Manage queue button - self.btn_manage_queue = QPushButton("Manage Queue", self) - self.btn_manage_queue.setFixedHeight(40) - self.btn_manage_queue.setEnabled(False) - self.btn_manage_queue.clicked.connect(self.manage_queue) - queue_row.addWidget(self.btn_manage_queue) - # Start queue button - self.btn_start_queue = QPushButton("Start Queue", self) - self.btn_start_queue.setFixedHeight(40) - self.btn_start_queue.setEnabled(False) - self.btn_start_queue.clicked.connect(self.start_queue) - queue_row.addWidget(self.btn_start_queue) - controls_layout.addLayout(queue_row) - # Start button self.btn_start = QPushButton("Start", self) self.btn_start.setFixedHeight(60) @@ -1334,11 +1334,34 @@ class abogen(QWidget): def enable_disable_queue_buttons(self): enabled = bool(self.queued_items) self.btn_start_queue.setEnabled(enabled) - self.btn_manage_queue.setEnabled(enabled) + # Update Manage Queue button text with count + if enabled: + self.btn_manage_queue.setText(f"Manage Queue ({len(self.queued_items)})") + self.btn_manage_queue.setStyleSheet( + f"QPushButton {{ color: {COLORS['GREEN']}; }}" + ) + else: + self.btn_manage_queue.setText("Manage Queue") + self.btn_manage_queue.setStyleSheet("") + # Change main Start button to 'Start queue' if queue has items + if enabled: + self.btn_start.setText("Start queue") + try: + self.btn_start.clicked.disconnect() + except Exception: + pass + self.btn_start.clicked.connect(self.start_queue) + else: + self.btn_start.setText("Start") + try: + self.btn_start.clicked.disconnect() + except Exception: + pass + self.btn_start.clicked.connect(self.start_conversion) def enqueue(self, item : QueuedItem): self.queued_items.append(item) - self.update_log((f"Enqueued: {item.file_name}", True)) + #self.update_log((f"Enqueued: {item.file_name}", True)) # enable start queue button, manage queue button self.enable_disable_queue_buttons() @@ -1362,17 +1385,46 @@ class abogen(QWidget): output_folder=self.selected_output_folder, subtitle_mode=actual_subtitle_mode, output_format=self.selected_format, - total_char_count=self.char_count, - use_gpu=self.gpu_ok + total_char_count=self.char_count ) + + # Prevent adding duplicate items to the queue + for queued_item in self.queued_items: + if ( + queued_item.file_name == item.file_name and + queued_item.lang_code == item.lang_code and + queued_item.speed == item.speed and + queued_item.voice == item.voice and + queued_item.save_option == item.save_option and + queued_item.output_folder == item.output_folder and + queued_item.subtitle_mode == item.subtitle_mode and + queued_item.output_format == item.output_format and + queued_item.total_char_count == item.total_char_count + ): + QMessageBox.warning(self, "Duplicate Item", "This item is already in the queue.") + return + self.enqueue(item) # Clear input after adding to queue self.input_box.clear_input() + self.enable_disable_queue_buttons() + + def clear_queue(self): + # Warn user if more than 1 item in the queue before clearing + if len(self.queued_items) > 1: + reply = QMessageBox.question( + self, + "Confirm Clear Queue", + f"Are you sure you want to clear {len(self.queued_items)} items from the queue?", + QMessageBox.Yes | QMessageBox.No, + QMessageBox.No + ) + if reply != QMessageBox.Yes: + return + self.queued_items = [] + self.enable_disable_queue_buttons() def manage_queue(self): - if not self.queued_items: - self.input_box.set_error("Queue is empty.") - return # show a dialog to manage the queue dialog = QueueManager(self, self.queued_items) if dialog.exec_() == QDialog.Accepted: @@ -1381,9 +1433,6 @@ class abogen(QWidget): self.enable_disable_queue_buttons() def start_queue(self): - if not self.queued_items: - self.input_box.set_error("Queue is empty.") - return self.current_queue_index = 0 # Start from the first item self.start_next_queued_item() @@ -1399,7 +1448,6 @@ class abogen(QWidget): self.subtitle_mode = item.subtitle_mode self.selected_format = item.output_format self.char_count = item.total_char_count - self.gpu_ok = item.use_gpu self.start_conversion() else: # Queue finished, reset index @@ -1455,6 +1503,7 @@ class abogen(QWidget): self.progress_bar.setFormat("%p%") # Reset format initially self.etr_label.hide() # Hide ETR label initially self.controls_widget.hide() + self.queue_row_widget.hide() # Hide queue row when process starts self.progress_bar.show() self.btn_cancel.show() QApplication.processEvents() @@ -1635,6 +1684,7 @@ class abogen(QWidget): if self.open_file_btn: self.open_file_btn.show() self.controls_widget.show() + self.queue_row_widget.show() # Show queue row on reset self.finish_widget.hide() self.btn_start.setText("Start") # Disconnect only if connected, then reconnect @@ -1643,12 +1693,14 @@ class abogen(QWidget): except TypeError: pass # Ignore error if not connected self.btn_start.clicked.connect(self.start_conversion) + self.enable_disable_queue_buttons() except Exception as e: self._show_error_message_box("Reset Error", f"Could not reset UI:\n{e}") def go_back_ui(self): self.finish_widget.hide() self.controls_widget.show() + self.queue_row_widget.show() # Show queue row on go back self.progress_bar.hide() self.restore_input_box() @@ -2023,6 +2075,7 @@ class abogen(QWidget): self.progress_bar.hide() self.btn_cancel.hide() self.controls_widget.show() + self.queue_row_widget.show() # Show queue row on cancel self.finish_widget.hide() self.restore_input_box() display_path = ( diff --git a/abogen/queue_manager_gui.py b/abogen/queue_manager_gui.py index b8da6f3..42ff70b 100644 --- a/abogen/queue_manager_gui.py +++ b/abogen/queue_manager_gui.py @@ -5,35 +5,83 @@ from PyQt5.QtWidgets import ( QDialog, QVBoxLayout, + QHBoxLayout, # added QDialogButtonBox, QPushButton, QListWidget, + QListWidgetItem, + QFileIconProvider, + QLabel, ) - +from PyQt5.QtCore import QFileInfo, Qt +from constants import COLORS class QueueManager(QDialog): - def __init__(self, parent, queue: list, title="Queue Manager", size=(400, 300)): + def __init__(self, parent, queue: list, title="Queue Manager", size=(600, 700)): super().__init__() self.queue = queue self.parent = parent layout = QVBoxLayout() + layout.setContentsMargins(15, 15, 15, 15) # set main layout margins + layout.setSpacing(12) # set spacing between widgets in main layout # list of queued items self.listwidget = QListWidget() - self.listwidget.setSelectionMode(QListWidget.SingleSelection) + self.listwidget.setSelectionMode(QListWidget.ExtendedSelection) self.listwidget.setAlternatingRowColors(True) + self.listwidget.setContextMenuPolicy(Qt.CustomContextMenu) + self.listwidget.customContextMenuRequested.connect(self.show_context_menu) + # Add informative instructions at the top + instructions = QLabel( + "

How Queue Works?

" + "You can add text files (.txt) directly using the 'Add files' button below. " + "To add PDF or EPUB files, use the input box in the main window and click the 'Add to Queue' button. " + "Each file in the queue keeps the configuration settings active when it was added. " + "Changing the main window configuration afterward does not affect files already in the queue. " + "You can view each file's configuration by hovering over them." + ) + instructions.setAlignment(Qt.AlignLeft) + instructions.setWordWrap(True) + instructions.setStyleSheet("margin-bottom: 8px;") + layout.addWidget(instructions) + # Overlay label for empty queue + self.empty_overlay = QLabel( + "No items in the queue.", + self.listwidget + ) + self.empty_overlay.setAlignment(Qt.AlignCenter) + self.empty_overlay.setStyleSheet(f"color: {COLORS['LIGHT_DISABLED']}; background: transparent;") + self.empty_overlay.setWordWrap(True) + self.empty_overlay.hide() # add queue items to the list self.process_queue() - layout.addWidget(self.listwidget) - # add remove item button - remove_button = QPushButton("Remove") - remove_button.clicked.connect(self.remove_item) - layout.addWidget(remove_button) - # add clear queue button - clear_button = QPushButton("Clear Queue") - clear_button.clicked.connect(self.clear_queue) - layout.addWidget(clear_button) + button_row = QHBoxLayout() + button_row.setContentsMargins(0, 0, 0, 0) # optional: no margins for button row + button_row.setSpacing(7) # set spacing between buttons + # Add files button + add_files_button = QPushButton("Add files") + add_files_button.setFixedHeight(40) + add_files_button.clicked.connect(self.add_more_files) + button_row.addWidget(add_files_button) + # Remove button + self.remove_button = QPushButton("Remove selected") + self.remove_button.setFixedHeight(40) + self.remove_button.clicked.connect(self.remove_item) + button_row.addWidget(self.remove_button) + + # Clear button + self.clear_button = QPushButton("Clear Queue") + self.clear_button.setFixedHeight(40) + self.clear_button.clicked.connect(self.clear_queue) + button_row.addWidget(self.clear_button) + + layout.addLayout(button_row) + layout.addWidget(self.listwidget) + + # Connect selection change to update button state + self.listwidget.currentItemChanged.connect(self.update_button_states) + self.listwidget.itemSelectionChanged.connect(self.update_button_states) buttons = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel, self) buttons.accepted.connect(self.accept) @@ -44,30 +92,244 @@ class QueueManager(QDialog): self.setLayout(layout) self.setWindowTitle(title) - self.setMinimumSize(*size) + self.resize(*size) + + self.update_button_states() def process_queue(self): """Process the queue items.""" + self.listwidget.clear() if not self.queue: + self.empty_overlay.resize(self.listwidget.size()) + self.empty_overlay.show() + self.update_button_states() return + else: + self.empty_overlay.hide() + icon_provider = QFileIconProvider() for item in self.queue: - # TODO take just the file name from the item, no directories - self.listwidget.addItem(item.file_name) + # Only show the file name, not the full path + file_name = item.file_name + display_name = file_name + import os + if os.path.sep in file_name: + display_name = os.path.basename(file_name) + # Get icon for the file + icon = icon_provider.icon(QFileInfo(file_name)) + list_item = QListWidgetItem(icon, display_name) + # Set tooltip with detailed info + output_folder = getattr(item, 'output_folder', '') + tooltip = ( + f"Path: {file_name}
" + f"Language: {getattr(item, 'lang_code', '')}
" + f"Speed: {getattr(item, 'speed', '')}
" + f"Voice: {getattr(item, 'voice', '')}
" + f"Save Option: {getattr(item, 'save_option', '')}
" + ) + if output_folder not in (None, '', 'None'): + tooltip += f"Output Folder: {output_folder}
" + tooltip += ( + f"Subtitle Mode: {getattr(item, 'subtitle_mode', '')}
" + f"Output Format: {getattr(item, 'output_format', '')}
" + f"Characters: {getattr(item, 'total_char_count', '')}" + ) + list_item.setToolTip(tooltip) + self.listwidget.addItem(list_item) + + self.update_button_states() def remove_item(self): - item = self.listwidget.currentItem() - if not item: + items = self.listwidget.selectedItems() + if not items: return - found_item = [q for q in self.queue if q.file_name==item.text()][0] - self.queue.remove(found_item) - # rebind the queue to the listwidget - self.listwidget.clear() + import os + display_names = [item.text() for item in items] + to_remove = [] + for q in self.queue: + if os.path.basename(q.file_name) in display_names: + to_remove.append(q) + for item in to_remove: + self.queue.remove(item) self.process_queue() - pass + self.update_button_states() def clear_queue(self): + from PyQt5.QtWidgets import QMessageBox + if len(self.queue) > 1: + reply = QMessageBox.question( + self, + "Confirm Clear Queue", + f"Are you sure you want to clear {len(self.queue)} items from the queue?", + QMessageBox.Yes | QMessageBox.No, + QMessageBox.No + ) + if reply != QMessageBox.Yes: + return self.queue.clear() self.listwidget.clear() + self.empty_overlay.resize(self.listwidget.size()) # Ensure overlay is sized correctly + self.empty_overlay.show() # Show the overlay when queue is empty + self.update_button_states() def get_queue(self): - return self.queue \ No newline at end of file + return self.queue + + def get_current_attributes(self): + # Fetch current attribute values from the parent abogen GUI + attrs = {} + parent = self.parent + if parent is not None: + # lang_code: use parent's get_voice_formula and get_selected_lang + if hasattr(parent, 'get_voice_formula') and hasattr(parent, 'get_selected_lang'): + voice_formula = parent.get_voice_formula() + attrs['lang_code'] = parent.get_selected_lang(voice_formula) + attrs['voice'] = voice_formula + else: + attrs['lang_code'] = getattr(parent, 'selected_lang', '') + attrs['voice'] = getattr(parent, 'selected_voice', '') + # speed + if hasattr(parent, 'speed_slider'): + attrs['speed'] = parent.speed_slider.value() / 100.0 + else: + attrs['speed'] = getattr(parent, 'speed', 1.0) + # save_option + attrs['save_option'] = getattr(parent, 'save_option', '') + # output_folder + attrs['output_folder'] = getattr(parent, 'selected_output_folder', '') + # subtitle_mode + if hasattr(parent, 'get_actual_subtitle_mode'): + attrs['subtitle_mode'] = parent.get_actual_subtitle_mode() + else: + attrs['subtitle_mode'] = getattr(parent, 'subtitle_mode', '') + # output_format + attrs['output_format'] = getattr(parent, 'selected_format', '') + # total_char_count + attrs['total_char_count'] = getattr(parent, 'char_count', '') + else: + # fallback: empty values + attrs = {k: '' for k in [ + 'lang_code', 'speed', 'voice', 'save_option', + 'output_folder', 'subtitle_mode', 'output_format', 'total_char_count']} + return attrs + + def add_more_files(self): + from PyQt5.QtWidgets import QFileDialog, QMessageBox + import os + from utils import calculate_text_length # import the function + # Only allow .txt files + files, _ = QFileDialog.getOpenFileNames(self, "Select .txt files", "", "Text Files (*.txt)") + if not files: + return + # Get current attribute values from GUI + current_attrs = self.get_current_attributes() + duplicates = [] + for file_path in files: + # Create a dummy item with the current GUI attributes + class QueueItem: + pass + item = QueueItem() + item.file_name = file_path + for attr, value in current_attrs.items(): + setattr(item, attr, value) + # Read file content and calculate total_char_count using calculate_text_length + try: + with open(file_path, 'r', encoding='utf-8', errors='ignore') as f: + file_content = f.read() + item.total_char_count = calculate_text_length(file_content) + except Exception: + item.total_char_count = 0 + # Prevent adding duplicate items to the queue (check all attributes) + is_duplicate = False + for queued_item in self.queue: + if ( + getattr(queued_item, 'file_name', None) == getattr(item, 'file_name', None) and + getattr(queued_item, 'lang_code', None) == getattr(item, 'lang_code', None) and + getattr(queued_item, 'speed', None) == getattr(item, 'speed', None) and + getattr(queued_item, 'voice', None) == getattr(item, 'voice', None) and + getattr(queued_item, 'save_option', None) == getattr(item, 'save_option', None) and + getattr(queued_item, 'output_folder', None) == getattr(item, 'output_folder', None) and + getattr(queued_item, 'subtitle_mode', None) == getattr(item, 'subtitle_mode', None) and + getattr(queued_item, 'output_format', None) == getattr(item, 'output_format', None) and + getattr(queued_item, 'total_char_count', None) == getattr(item, 'total_char_count', None) + ): + is_duplicate = True + break + if is_duplicate: + duplicates.append(os.path.basename(file_path)) + continue + self.queue.append(item) + if duplicates: + QMessageBox.warning(self, "Duplicate Item(s)", "The following file(s) with the same attributes are already in the queue and were not added:\n" + '\n'.join(duplicates)) + self.process_queue() + self.update_button_states() + + def resizeEvent(self, event): + super().resizeEvent(event) + if hasattr(self, 'empty_overlay'): + self.empty_overlay.resize(self.listwidget.size()) + + def update_button_states(self): + # Enable Remove if at least one item is selected, else disable + if hasattr(self, 'remove_button'): + selected_count = len(self.listwidget.selectedItems()) + self.remove_button.setEnabled(selected_count > 0) + if selected_count > 1: + self.remove_button.setText(f"Remove selected ({selected_count})") + else: + self.remove_button.setText("Remove selected") + # Disable Clear if queue is empty + if hasattr(self, 'clear_button'): + self.clear_button.setEnabled(bool(self.queue)) + + def show_context_menu(self, pos): + from PyQt5.QtWidgets import QMenu, QAction + from PyQt5.QtGui import QDesktopServices + from PyQt5.QtCore import QUrl + import os + global_pos = self.listwidget.viewport().mapToGlobal(pos) + selected_items = self.listwidget.selectedItems() + menu = QMenu(self) + if len(selected_items) == 1: + remove_action = QAction("Remove this item", self) + remove_action.triggered.connect(self.remove_item) + menu.addAction(remove_action) + go_to_folder_action = QAction("Go to folder", self) + def go_to_folder(): + from PyQt5.QtWidgets import QMessageBox + item = selected_items[0] + display_name = item.text() + for q in self.queue: + if os.path.basename(q.file_name) == display_name: + if not os.path.exists(q.file_name): + QMessageBox.warning(self, "File Not Found", f"The file does not exist.") + return + folder = os.path.dirname(q.file_name) + if os.path.exists(folder): + QDesktopServices.openUrl(QUrl.fromLocalFile(folder)) + break + go_to_folder_action.triggered.connect(go_to_folder) + menu.addAction(go_to_folder_action) + # Add Open file action + open_file_action = QAction("Open file", self) + def open_file(): + from PyQt5.QtWidgets import QMessageBox + item = selected_items[0] + display_name = item.text() + for q in self.queue: + if os.path.basename(q.file_name) == display_name: + if not os.path.exists(q.file_name): + QMessageBox.warning(self, "File Not Found", f"The file does not exist.") + return + QDesktopServices.openUrl(QUrl.fromLocalFile(q.file_name)) + break + open_file_action.triggered.connect(open_file) + menu.addAction(open_file_action) + elif len(selected_items) > 1: + remove_action = QAction(f"Remove selected ({len(selected_items)})", self) + remove_action.triggered.connect(self.remove_item) + menu.addAction(remove_action) + # Always add Clear Queue + clear_action = QAction("Clear Queue", self) + clear_action.triggered.connect(self.clear_queue) + menu.addAction(clear_action) + menu.exec_(global_pos) \ No newline at end of file diff --git a/abogen/queued_item.py b/abogen/queued_item.py index 635dd8f..9b22d03 100644 --- a/abogen/queued_item.py +++ b/abogen/queued_item.py @@ -11,5 +11,4 @@ class QueuedItem: output_folder: str subtitle_mode: str output_format: str - total_char_count: int - use_gpu: bool \ No newline at end of file + total_char_count: int \ No newline at end of file From 5babc936b4e8739b1af90fb524365aa3aab8a994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deniz=20=C5=9Eafak?= Date: Thu, 10 Jul 2025 05:12:32 +0300 Subject: [PATCH 09/16] Improvements in gui and overall code --- abogen/gui.py | 165 ++++++++++++++++++++++-------------- abogen/queue_manager_gui.py | 98 ++++++++++++++++----- abogen/queued_item.py | 3 +- 3 files changed, 182 insertions(+), 84 deletions(-) diff --git a/abogen/gui.py b/abogen/gui.py index 5b620b4..fa5cbcf 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -738,10 +738,10 @@ class abogen(QWidget): controls_layout.addLayout(speed_layout) self.speed_slider.valueChanged.connect(self.update_speed_label) # Voice selection - voice_layout = QVBoxLayout() + voice_layout = QHBoxLayout() voice_layout.setSpacing(7) - voice_layout.addWidget(QLabel("Select Voice:", self)) - voice_row = QHBoxLayout() + voice_label = QLabel("Select voice:", self) + voice_layout.addWidget(voice_label) self.voice_combo = QComboBox(self) self.voice_combo.currentIndexChanged.connect(self.on_voice_combo_changed) self.voice_combo.setStyleSheet( @@ -751,8 +751,8 @@ class abogen(QWidget): "The first character represents the language:\n" '"a" => American English\n"b" => British English\n"e" => Spanish\n"f" => French\n"h" => Hindi\n"i" => Italian\n"j" => Japanese\n"p" => Brazilian Portuguese\n"z" => Mandarin Chinese\nThe second character represents the gender:\n"m" => Male\n"f" => Female' ) - voice_row.addWidget(self.voice_combo) - + self.voice_combo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + voice_layout.addWidget(self.voice_combo) # Voice formula button self.btn_voice_formula_mixer = QPushButton(self) mixer_icon_path = get_resource_path("abogen.assets", "voice_mixer.png") @@ -761,8 +761,7 @@ class abogen(QWidget): self.btn_voice_formula_mixer.setFixedSize(40, 36) self.btn_voice_formula_mixer.setStyleSheet("QPushButton { padding: 6px 12px; }") self.btn_voice_formula_mixer.clicked.connect(self.show_voice_formula_dialog) - voice_row.addWidget(self.btn_voice_formula_mixer) - + voice_layout.addWidget(self.btn_voice_formula_mixer) # Play/Stop icons def make_icon(color, shape): pix = QPixmap(20, 20) @@ -792,14 +791,16 @@ class abogen(QWidget): self.btn_preview.setFixedSize(40, 36) self.btn_preview.setStyleSheet("QPushButton { padding: 6px 12px; }") self.btn_preview.clicked.connect(self.preview_voice) - voice_row.addWidget(self.btn_preview) + voice_layout.addWidget(self.btn_preview) self.preview_playing = False self.play_audio_thread = None # Keep track of audio playing thread - voice_layout.addLayout(voice_row) controls_layout.addLayout(voice_layout) - # Subtitle mode - subtitle_layout = QVBoxLayout() - subtitle_layout.addWidget(QLabel("Generate subtitles:", self)) + + # Generate subtitles + subtitle_layout = QHBoxLayout() + subtitle_layout.setSpacing(7) + subtitle_label = QLabel("Generate subtitles:", self) + subtitle_layout.addWidget(subtitle_label) self.subtitle_combo = QComboBox(self) self.subtitle_combo.setToolTip( "Choose how subtitles will be generated:\n" @@ -820,6 +821,7 @@ class abogen(QWidget): self.subtitle_combo.setStyleSheet( "QComboBox { min-height: 20px; padding: 6px 12px; }" ) + self.subtitle_combo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self.subtitle_combo.setCurrentText(self.subtitle_mode) self.subtitle_combo.currentTextChanged.connect(self.on_subtitle_mode_changed) # Enable/disable subtitle options based on selected language (profile or voice) @@ -827,13 +829,17 @@ class abogen(QWidget): self.subtitle_combo.setEnabled(enable) subtitle_layout.addWidget(self.subtitle_combo) controls_layout.addLayout(subtitle_layout) - # Output format - format_layout = QVBoxLayout() - format_layout.addWidget(QLabel("Output Format:", self)) + + # Output voice format + format_layout = QHBoxLayout() + format_layout.setSpacing(7) + format_label = QLabel("Output voice format:", self) + format_layout.addWidget(format_label) self.format_combo = QComboBox(self) self.format_combo.setStyleSheet( "QComboBox { min-height: 20px; padding: 6px 12px; }" ) + self.format_combo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) # Add items with display labels and underlying keys for key, label in [ ("wav", "wav"), @@ -853,9 +859,61 @@ class abogen(QWidget): ) format_layout.addWidget(self.format_combo) controls_layout.addLayout(format_layout) + + # Output subtitle format + subtitle_format_layout = QHBoxLayout() + subtitle_format_layout.setSpacing(7) + subtitle_format_label = QLabel("Output subtitle format:", self) + subtitle_format_layout.addWidget(subtitle_format_label) + self.subtitle_format_combo = QComboBox(self) + self.subtitle_format_combo.setStyleSheet( + "QComboBox { min-height: 20px; padding: 6px 12px; }" + ) + self.subtitle_format_combo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + subtitle_formats = [ + ("srt", "SRT (standard)"), + ("ass_wide", "ASS (wide)"), + ("ass_narrow", "ASS (narrow)"), + ("ass_centered_wide", "ASS (centered wide)"), + ("ass_centered_narrow", "ASS (centered narrow)") + ] + for value, text in subtitle_formats: + self.subtitle_format_combo.addItem(text, value) + subtitle_format = self.config.get("subtitle_format", "ass_centered_narrow") + idx = self.subtitle_format_combo.findData(subtitle_format) + if idx >= 0: + self.subtitle_format_combo.setCurrentIndex(idx) + self.subtitle_format_combo.currentIndexChanged.connect( + lambda i: self.set_subtitle_format(self.subtitle_format_combo.itemData(i)) + ) + subtitle_format_layout.addWidget(self.subtitle_format_combo) + controls_layout.addLayout(subtitle_format_layout) + + # Replace single newlines dropdown (acts like checkbox) + replace_newlines_layout = QHBoxLayout() + replace_newlines_layout.setSpacing(7) + replace_newlines_label = QLabel("Replace single newlines:", self) + replace_newlines_layout.addWidget(replace_newlines_label) + self.replace_newlines_combo = QComboBox(self) + self.replace_newlines_combo.addItems(["Disabled", "Enabled"]) + self.replace_newlines_combo.setToolTip("Replace single newlines in the input text with spaces before processing.") + self.replace_newlines_combo.setStyleSheet( + "QComboBox { min-height: 20px; padding: 6px 12px; }" + ) + self.replace_newlines_combo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + # Set initial value based on config + self.replace_newlines_combo.setCurrentIndex(1 if self.replace_single_newlines else 0) + self.replace_newlines_combo.currentIndexChanged.connect( + lambda idx: self.toggle_replace_single_newlines(idx == 1) + ) + replace_newlines_layout.addWidget(self.replace_newlines_combo) + controls_layout.addLayout(replace_newlines_layout) + # Save location - save_layout = QVBoxLayout() - save_layout.addWidget(QLabel("Save Location:", self)) + save_layout = QHBoxLayout() + save_layout.setSpacing(7) + save_label = QLabel("Save Location:", self) + save_layout.addWidget(save_label) self.save_combo = QComboBox(self) save_options = [ "Save next to input file", @@ -866,6 +924,7 @@ class abogen(QWidget): self.save_combo.setStyleSheet( "QComboBox { min-height: 20px; padding: 6px 12px; }" ) + self.save_combo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self.save_combo.setCurrentText(self.save_option) self.save_combo.currentTextChanged.connect(self.on_save_option_changed) save_layout.addWidget(self.save_combo) @@ -885,6 +944,12 @@ class abogen(QWidget): gpu_checkbox_layout.addWidget(self.gpu_checkbox) gpu_layout.addLayout(gpu_checkbox_layout) + # Set initial enabled state for subtitle format combo + if self.subtitle_mode == "Disabled": + self.subtitle_format_combo.setEnabled(False) + else: + self.subtitle_format_combo.setEnabled(True) + # Settings button with icon settings_icon_path = get_resource_path("abogen.assets", "settings.svg") self.settings_btn = QPushButton(self) @@ -1385,7 +1450,8 @@ class abogen(QWidget): output_folder=self.selected_output_folder, subtitle_mode=actual_subtitle_mode, output_format=self.selected_format, - total_char_count=self.char_count + total_char_count=self.char_count, + replace_single_newlines=self.replace_single_newlines ) # Prevent adding duplicate items to the queue @@ -1399,7 +1465,8 @@ class abogen(QWidget): queued_item.output_folder == item.output_folder and queued_item.subtitle_mode == item.subtitle_mode and queued_item.output_format == item.output_format and - queued_item.total_char_count == item.total_char_count + queued_item.total_char_count == item.total_char_count and + getattr(queued_item, "replace_single_newlines", False) == item.replace_single_newlines ): QMessageBox.warning(self, "Duplicate Item", "This item is already in the queue.") return @@ -1448,6 +1515,7 @@ class abogen(QWidget): self.subtitle_mode = item.subtitle_mode self.selected_format = item.output_format self.char_count = item.total_char_count + self.replace_single_newlines = getattr(item, "replace_single_newlines", False) self.start_conversion() else: # Queue finished, reset index @@ -2104,6 +2172,11 @@ class abogen(QWidget): self.subtitle_mode = mode self.config["subtitle_mode"] = mode save_config(self.config) + # Disable subtitle format combo if subtitles are disabled + if mode == "Disabled": + self.subtitle_format_combo.setEnabled(False) + else: + self.subtitle_format_combo.setEnabled(True) def on_format_changed(self, fmt): self.selected_format = fmt @@ -2311,45 +2384,6 @@ class abogen(QWidget): menu.addMenu(theme_menu) - # Add replace single newlines option - newline_action = QAction("Replace single newlines with spaces", self) - newline_action.setCheckable(True) - newline_action.setChecked(self.replace_single_newlines) - newline_action.triggered.connect(self.toggle_replace_single_newlines) - menu.addAction(newline_action) - - # Add max words per subtitle option - max_words_action = QAction("Configure max words per subtitle", self) - max_words_action.triggered.connect(self.set_max_subtitle_words) - menu.addAction(max_words_action) - - # Add subtitle format option - subtitle_format_menu = QMenu("Subtitle format", self) - subtitle_format_menu.setToolTip("Choose the format for generated subtitles") - - subtitle_format_group = QActionGroup(self) - subtitle_format_group.setExclusive(True) - - # Define mapping: (internal_value, display_text) - subtitle_formats = [ - ("srt", "SRT (standard)"), - ("ass_wide", "ASS (wide)"), - ("ass_narrow", "ASS (narrow)"), - ("ass_centered_wide", "ASS (centered wide)"), - ("ass_centered_narrow", "ASS (centered narrow)"), - ] - - subtitle_format = self.config.get("subtitle_format", "ass_centered_narrow") - for value, text in subtitle_formats: - format_action = QAction(text, self) - format_action.setCheckable(True) - format_action.setChecked(subtitle_format == value) - format_action.triggered.connect(lambda checked, fmt=value: self.set_subtitle_format(fmt)) - subtitle_format_group.addAction(format_action) - subtitle_format_menu.addAction(format_action) - - menu.addMenu(subtitle_format_menu) - # Add separate chapters format option separate_chapters_format_menu = QMenu("Separate chapters audio format", self) separate_chapters_format_menu.setToolTip("Choose the format for individual chapter files") @@ -2367,6 +2401,13 @@ class abogen(QWidget): menu.addMenu(separate_chapters_format_menu) + # Add max words per subtitle option + max_words_action = QAction("Configure max words per subtitle", self) + max_words_action.triggered.connect(self.set_max_subtitle_words) + menu.addAction(max_words_action) + + + # Add separator menu.addSeparator() @@ -2410,9 +2451,9 @@ class abogen(QWidget): menu.exec_(self.settings_btn.mapToGlobal(QPoint(0, self.settings_btn.height()))) - def toggle_replace_single_newlines(self, checked): - self.replace_single_newlines = checked - self.config["replace_single_newlines"] = checked + def toggle_replace_single_newlines(self, enabled): + self.replace_single_newlines = enabled + self.config["replace_single_newlines"] = enabled save_config(self.config) def reveal_config_in_explorer(self): @@ -2609,8 +2650,6 @@ Categories=AudioVideo;Audio;Utility; initial_state = entry else: initial_state = [] - else: - initial_state = [] dialog = VoiceFormulaDialog( self, initial_state=initial_state, selected_profile=selected_profile ) diff --git a/abogen/queue_manager_gui.py b/abogen/queue_manager_gui.py index 42ff70b..bd403da 100644 --- a/abogen/queue_manager_gui.py +++ b/abogen/queue_manager_gui.py @@ -15,11 +15,13 @@ from PyQt5.QtWidgets import ( ) from PyQt5.QtCore import QFileInfo, Qt from constants import COLORS +from copy import deepcopy class QueueManager(QDialog): def __init__(self, parent, queue: list, title="Queue Manager", size=(600, 700)): super().__init__() self.queue = queue + self._original_queue = deepcopy(queue) # Store a deep copy of the original queue self.parent = parent layout = QVBoxLayout() layout.setContentsMargins(15, 15, 15, 15) # set main layout margins @@ -131,7 +133,8 @@ class QueueManager(QDialog): tooltip += ( f"Subtitle Mode: {getattr(item, 'subtitle_mode', '')}
" f"Output Format: {getattr(item, 'output_format', '')}
" - f"Characters: {getattr(item, 'total_char_count', '')}" + f"Characters: {getattr(item, 'total_char_count', '')}
" + f"Replace Single Newlines: {getattr(item, 'replace_single_newlines', False)}" ) list_item.setToolTip(tooltip) self.listwidget.addItem(list_item) @@ -143,11 +146,23 @@ class QueueManager(QDialog): if not items: return import os + from PyQt5.QtWidgets import QMessageBox display_names = [item.text() for item in items] to_remove = [] for q in self.queue: if os.path.basename(q.file_name) in display_names: to_remove.append(q) + # Warn user if removing multiple files + if len(to_remove) > 1: + reply = QMessageBox.question( + self, + "Confirm Remove", + f"Are you sure you want to remove {len(to_remove)} selected items from the queue?", + QMessageBox.Yes | QMessageBox.No, + QMessageBox.No + ) + if reply != QMessageBox.Yes: + return for item in to_remove: self.queue.remove(item) self.process_queue() @@ -205,11 +220,13 @@ class QueueManager(QDialog): attrs['output_format'] = getattr(parent, 'selected_format', '') # total_char_count attrs['total_char_count'] = getattr(parent, 'char_count', '') + # replace_single_newlines + attrs['replace_single_newlines'] = getattr(parent, 'replace_single_newlines', False) else: # fallback: empty values attrs = {k: '' for k in [ 'lang_code', 'speed', 'voice', 'save_option', - 'output_folder', 'subtitle_mode', 'output_format', 'total_char_count']} + 'output_folder', 'subtitle_mode', 'output_format', 'total_char_count', 'replace_single_newlines']} return attrs def add_more_files(self): @@ -250,7 +267,8 @@ class QueueManager(QDialog): getattr(queued_item, 'output_folder', None) == getattr(item, 'output_folder', None) and getattr(queued_item, 'subtitle_mode', None) == getattr(item, 'subtitle_mode', None) and getattr(queued_item, 'output_format', None) == getattr(item, 'output_format', None) and - getattr(queued_item, 'total_char_count', None) == getattr(item, 'total_char_count', None) + getattr(queued_item, 'total_char_count', None) == getattr(item, 'total_char_count', None) and + getattr(queued_item, 'replace_single_newlines', False) == getattr(item, 'replace_single_newlines', False) ): is_duplicate = True break @@ -259,7 +277,11 @@ class QueueManager(QDialog): continue self.queue.append(item) if duplicates: - QMessageBox.warning(self, "Duplicate Item(s)", "The following file(s) with the same attributes are already in the queue and were not added:\n" + '\n'.join(duplicates)) + QMessageBox.warning( + self, + "Duplicate Item(s)", + f"Skipping {len(duplicates)} file(s) with the same attributes, they are already in the queue." + ) self.process_queue() self.update_button_states() @@ -290,9 +312,28 @@ class QueueManager(QDialog): selected_items = self.listwidget.selectedItems() menu = QMenu(self) if len(selected_items) == 1: + # Add Remove action remove_action = QAction("Remove this item", self) remove_action.triggered.connect(self.remove_item) menu.addAction(remove_action) + + # Add Open file action + open_file_action = QAction("Open file", self) + def open_file(): + from PyQt5.QtWidgets import QMessageBox + item = selected_items[0] + display_name = item.text() + for q in self.queue: + if os.path.basename(q.file_name) == display_name: + if not os.path.exists(q.file_name): + QMessageBox.warning(self, "File Not Found", f"The file does not exist.") + return + QDesktopServices.openUrl(QUrl.fromLocalFile(q.file_name)) + break + open_file_action.triggered.connect(open_file) + menu.addAction(open_file_action) + + # Add Go to folder action go_to_folder_action = QAction("Go to folder", self) def go_to_folder(): from PyQt5.QtWidgets import QMessageBox @@ -309,21 +350,7 @@ class QueueManager(QDialog): break go_to_folder_action.triggered.connect(go_to_folder) menu.addAction(go_to_folder_action) - # Add Open file action - open_file_action = QAction("Open file", self) - def open_file(): - from PyQt5.QtWidgets import QMessageBox - item = selected_items[0] - display_name = item.text() - for q in self.queue: - if os.path.basename(q.file_name) == display_name: - if not os.path.exists(q.file_name): - QMessageBox.warning(self, "File Not Found", f"The file does not exist.") - return - QDesktopServices.openUrl(QUrl.fromLocalFile(q.file_name)) - break - open_file_action.triggered.connect(open_file) - menu.addAction(open_file_action) + elif len(selected_items) > 1: remove_action = QAction(f"Remove selected ({len(selected_items)})", self) remove_action.triggered.connect(self.remove_item) @@ -332,4 +359,35 @@ class QueueManager(QDialog): clear_action = QAction("Clear Queue", self) clear_action.triggered.connect(self.clear_queue) menu.addAction(clear_action) - menu.exec_(global_pos) \ No newline at end of file + menu.exec_(global_pos) + + def accept(self): + # Accept: keep changes + super().accept() + + def reject(self): + # Cancel: restore original queue + from PyQt5.QtWidgets import QMessageBox + # Warn if user changed a lot (e.g., more than 1 items difference) + original_count = len(self._original_queue) + current_count = len(self.queue) + if abs(original_count - current_count) > 1: + reply = QMessageBox.question( + self, + "Confirm Cancel", + f"Are you sure you want to cancel and discard all changes?", + QMessageBox.Yes | QMessageBox.No, + QMessageBox.No + ) + if reply != QMessageBox.Yes: + return + self.queue.clear() + self.queue.extend(deepcopy(self._original_queue)) + super().reject() + + def keyPressEvent(self, event): + from PyQt5.QtCore import Qt + if event.key() == Qt.Key_Delete: + self.remove_item() + else: + super().keyPressEvent(event) \ No newline at end of file diff --git a/abogen/queued_item.py b/abogen/queued_item.py index 9b22d03..9e676a2 100644 --- a/abogen/queued_item.py +++ b/abogen/queued_item.py @@ -11,4 +11,5 @@ class QueuedItem: output_folder: str subtitle_mode: str output_format: str - total_char_count: int \ No newline at end of file + total_char_count: int + replace_single_newlines: bool = False \ No newline at end of file From 0c7a52fd864d018ace2a736523fee66241a94a9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deniz=20=C5=9Eafak?= Date: Thu, 10 Jul 2025 06:13:15 +0300 Subject: [PATCH 10/16] Add drag & drop for gui manager, improvements --- abogen/gui.py | 2 +- abogen/queue_manager_gui.py | 136 +++++++++++++++++++++++++++++++----- 2 files changed, 120 insertions(+), 18 deletions(-) diff --git a/abogen/gui.py b/abogen/gui.py index fa5cbcf..b670ba2 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -2037,7 +2037,7 @@ class abogen(QWidget): if cached_path and os.path.exists(cached_path): temp_wav = cached_path else: # Should not happen if cache check was done - self._show_error_message_box("Preview Error", "Cache file expected but not found.") + self._show_error_message_box("Preview Error", "Cache file expected but not found, please try again.") self._preview_cleanup() return else: # Should have temp_wav from preview_thread or handled by cache check diff --git a/abogen/queue_manager_gui.py b/abogen/queue_manager_gui.py index bd403da..5380a62 100644 --- a/abogen/queue_manager_gui.py +++ b/abogen/queue_manager_gui.py @@ -5,17 +5,110 @@ from PyQt5.QtWidgets import ( QDialog, QVBoxLayout, - QHBoxLayout, # added + QHBoxLayout, QDialogButtonBox, QPushButton, QListWidget, QListWidgetItem, QFileIconProvider, QLabel, + QWidget, + QSizePolicy, ) from PyQt5.QtCore import QFileInfo, Qt from constants import COLORS from copy import deepcopy +from PyQt5.QtGui import QFontMetrics + +class ElidedLabel(QLabel): + def __init__(self, text, parent=None): + super().__init__(text, parent) + self._full_text = text + self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) + + def setText(self, text): + self._full_text = text + super().setText(text) + self.update() + + def resizeEvent(self, event): + metrics = QFontMetrics(self.font()) + elided = metrics.elidedText(self._full_text, Qt.ElideRight, self.width()) + super().setText(elided) + super().resizeEvent(event) + + def fullText(self): + return self._full_text + +class QueueListItemWidget(QWidget): + def __init__(self, file_name, char_count): + super().__init__() + layout = QHBoxLayout() + layout.setContentsMargins(12, 0, 6, 0) + layout.setSpacing(0) + import os + name_label = ElidedLabel(os.path.basename(file_name)) + char_label = QLabel(f"Chars: {char_count}") + char_label.setStyleSheet(f"color: {COLORS['LIGHT_DISABLED']};") + char_label.setAlignment(Qt.AlignRight | Qt.AlignVCenter) + char_label.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred) + layout.addWidget(name_label, 1) + layout.addWidget(char_label, 0) + self.setLayout(layout) + +class DroppableQueueListWidget(QListWidget): + def __init__(self, parent_dialog): + super().__init__() + self.parent_dialog = parent_dialog + self.setAcceptDrops(True) + # Overlay for drag hover + self.drag_overlay = QLabel("", self) + self.drag_overlay.setAlignment(Qt.AlignCenter) + self.drag_overlay.setStyleSheet( + f"border:2px dashed {COLORS['BLUE_BORDER_HOVER']}; border-radius:5px; padding:20px; background:{COLORS['BLUE_BG_HOVER']};" + ) + self.drag_overlay.setVisible(False) + self.drag_overlay.setAttribute(Qt.WA_TransparentForMouseEvents, True) + + def dragEnterEvent(self, event): + if event.mimeData().hasUrls(): + for url in event.mimeData().urls(): + if url.isLocalFile() and url.toLocalFile().lower().endswith('.txt'): + self.drag_overlay.resize(self.size()) + self.drag_overlay.setVisible(True) + event.acceptProposedAction() + return + self.drag_overlay.setVisible(False) + event.ignore() + + def dragMoveEvent(self, event): + if event.mimeData().hasUrls(): + for url in event.mimeData().urls(): + if url.isLocalFile() and url.toLocalFile().lower().endswith('.txt'): + event.acceptProposedAction() + return + event.ignore() + + def dragLeaveEvent(self, event): + self.drag_overlay.setVisible(False) + event.accept() + + def dropEvent(self, event): + self.drag_overlay.setVisible(False) + if event.mimeData().hasUrls(): + file_paths = [url.toLocalFile() for url in event.mimeData().urls() if url.isLocalFile() and url.toLocalFile().lower().endswith('.txt')] + if file_paths: + self.parent_dialog.add_files_from_paths(file_paths) + event.acceptProposedAction() + else: + event.ignore() + else: + event.ignore() + + def resizeEvent(self, event): + super().resizeEvent(event) + if hasattr(self, 'drag_overlay'): + self.drag_overlay.resize(self.size()) class QueueManager(QDialog): def __init__(self, parent, queue: list, title="Queue Manager", size=(600, 700)): @@ -27,7 +120,7 @@ class QueueManager(QDialog): layout.setContentsMargins(15, 15, 15, 15) # set main layout margins layout.setSpacing(12) # set spacing between widgets in main layout # list of queued items - self.listwidget = QListWidget() + self.listwidget = DroppableQueueListWidget(self) self.listwidget.setSelectionMode(QListWidget.ExtendedSelection) self.listwidget.setAlternatingRowColors(True) self.listwidget.setContextMenuPolicy(Qt.CustomContextMenu) @@ -47,12 +140,13 @@ class QueueManager(QDialog): layout.addWidget(instructions) # Overlay label for empty queue self.empty_overlay = QLabel( - "No items in the queue.", + "Drag and drop your text files here or use the 'Add files' button.", self.listwidget ) self.empty_overlay.setAlignment(Qt.AlignCenter) - self.empty_overlay.setStyleSheet(f"color: {COLORS['LIGHT_DISABLED']}; background: transparent;") + self.empty_overlay.setStyleSheet(f"color: {COLORS['LIGHT_DISABLED']}; background: transparent; padding: 20px;") self.empty_overlay.setWordWrap(True) + self.empty_overlay.setAttribute(Qt.WA_TransparentForMouseEvents, True) self.empty_overlay.hide() # add queue items to the list self.process_queue() @@ -118,7 +212,7 @@ class QueueManager(QDialog): display_name = os.path.basename(file_name) # Get icon for the file icon = icon_provider.icon(QFileInfo(file_name)) - list_item = QListWidgetItem(icon, display_name) + list_item = QListWidgetItem() # Set tooltip with detailed info output_folder = getattr(item, 'output_folder', '') tooltip = ( @@ -137,8 +231,12 @@ class QueueManager(QDialog): f"Replace Single Newlines: {getattr(item, 'replace_single_newlines', False)}" ) list_item.setToolTip(tooltip) + list_item.setIcon(icon) + # Use custom widget for display + char_count = getattr(item, 'total_char_count', 0) + widget = QueueListItemWidget(file_name, char_count) self.listwidget.addItem(list_item) - + self.listwidget.setItemWidget(list_item, widget) self.update_button_states() def remove_item(self): @@ -229,19 +327,13 @@ class QueueManager(QDialog): 'output_folder', 'subtitle_mode', 'output_format', 'total_char_count', 'replace_single_newlines']} return attrs - def add_more_files(self): - from PyQt5.QtWidgets import QFileDialog, QMessageBox + def add_files_from_paths(self, file_paths): + from utils import calculate_text_length + from PyQt5.QtWidgets import QMessageBox import os - from utils import calculate_text_length # import the function - # Only allow .txt files - files, _ = QFileDialog.getOpenFileNames(self, "Select .txt files", "", "Text Files (*.txt)") - if not files: - return - # Get current attribute values from GUI current_attrs = self.get_current_attributes() duplicates = [] - for file_path in files: - # Create a dummy item with the current GUI attributes + for file_path in file_paths: class QueueItem: pass item = QueueItem() @@ -280,11 +372,21 @@ class QueueManager(QDialog): QMessageBox.warning( self, "Duplicate Item(s)", - f"Skipping {len(duplicates)} file(s) with the same attributes, they are already in the queue." + f"Skipping {len(duplicates)} file(s) with the same attributes, already in the queue." ) self.process_queue() self.update_button_states() + def add_more_files(self): + from PyQt5.QtWidgets import QFileDialog, QMessageBox + import os + from utils import calculate_text_length # import the function + # Only allow .txt files + files, _ = QFileDialog.getOpenFileNames(self, "Select .txt files", "", "Text Files (*.txt)") + if not files: + return + self.add_files_from_paths(files) + def resizeEvent(self, event): super().resizeEvent(event) if hasattr(self, 'empty_overlay'): From 6ede337658b6c6d536b9a86469511a55e4176938 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deniz=20=C5=9Eafak?= Date: Thu, 10 Jul 2025 23:27:19 +0300 Subject: [PATCH 11/16] Various improvements and modifications in code and documentation --- CHANGELOG.md | 3 + README.md | 71 +++++++++----- abogen/VERSION | 2 +- abogen/constants.py | 2 +- abogen/conversion.py | 55 +++++++++-- abogen/gui.py | 181 ++++++++++++++++++++++-------------- abogen/main.py | 6 +- abogen/queue_manager_gui.py | 26 +++--- abogen/voice_formula_gui.py | 8 +- abogen/voice_formulas.py | 3 +- abogen/voice_profiles.py | 2 +- demo/abogen.png | Bin 23118 -> 64012 bytes demo/abogen2.png | Bin 42156 -> 153263 bytes demo/chapter_marker.png | Bin 11208 -> 31440 bytes demo/queue.png | Bin 0 -> 128097 bytes demo/voice_mixer.png | Bin 28897 -> 70372 bytes 16 files changed, 232 insertions(+), 127 deletions(-) create mode 100644 demo/queue.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 6954003..35c28e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # v1.1.0 (pre-release) +- Added queue system for processing multiple items, allowing users to add multiple files and process them in a queue, mentioned by @jborza in #30 (Special thanks to @jborza for implementing this feature in PR #35) - Added a feature that allows selecting multiple items in book handler (in right click menu) by @jborza in #31, that fixes #28 - Added dark theme support, allowing users to switch between light and dark themes in the settings. +- Added auto-accept system to the chapter options dialog in conversion process, allowing the dialog to auto-accept after a certain time if no action is taken. +- Improvements in documentation and code. # v1.0.9 - Added chunking/segmenting system that fixes memory outage issues when processing large audio files. diff --git a/README.md b/README.md index 9c8ca1d..41867df 100644 --- a/README.md +++ b/README.md @@ -119,34 +119,57 @@ abogen Here’s Abogen in action: in this demo, it processes ∼3,000 characters of text in just 11 seconds and turns it into 3 minutes and 28 seconds of audio, and I have a low-end **RTX 2060 Mobile laptop GPU**. Your results may vary depending on your hardware. -## `Key Features` -- **Supported formats**: `ePub`, `PDF`, or `.TXT` files (or use built-in text editor) -- **Speed**: Adjust speech rate from `0.1x` to `2.0x` -- **Voices**: First letter of the language code (e.g., `a` for American English, `b` for British English, etc.), second letter is for `m` for male and `f` for female. -- **Voice mixer**: Create custom voices by mixing different voice models with a profile system. -- **Generate subtitles**: `Disabled`, `Sentence`, `Sentence + Comma`, `1 word`, `2 words`, `3 words`, etc. (Represents the number of words in each subtitle entry) -- **Output formats**: `.WAV`, `.FLAC`, `.MP3`, `.OPUS` and `M4B (with chapters)` (Special thanks to [@jborza](https://github.com/jborza) for chapter support in PR [#10](https://github.com/denizsafak/abogen/pull/10)) -- **Save location**: `Save next to input file`, `Save to desktop`, or `Choose output folder` -- **Chapter Control**: Select specific `chapters` from ePUBs or `chapters + pages` from PDFs. -- **Save each chapter separately**: Save each chapter in e-books as a separate audio file. -- **Project folder**: Save the converted items in a project folder with available metadata files. -- **Options**: - - **Replace single newlines with spaces**: Replaces single newlines with spaces in the text. This is useful for texts that have imaginary line breaks. - - **Configure max words per subtitle**: Configures the maximum number of words per subtitle entry. - - **Subtitle format**: Configures the subtitle format as `srt`, `ass (wide)`, `ass (narrow)`, `ass (centered wide)`, or `ass (centered narrow)`. - - **Separate chapters audio format**: Configures the audio format for separate chapters as `wav`, `flac`, `mp3`, or `opus`. - - **Create desktop shortcut**: Creates a shortcut on your desktop for easy access. - - **Open config.json directory**: Opens the directory where the configuration file is stored. - - **Open temp directory**: Opens the temporary directory where converted text files are stored. - - **Clear temporary files**: Deletes temporary files created during the conversion or preview. - - **Check for updates at startup**: Automatically checks for updates when the program starts. -- **After conversion**: `Open file`, `Go to folder`, `New conversion`, or `Go back`. +## `Configuration` + +| Options | Description | +|---------|-------------| +| **Input Box** | Drag and drop `ePub`, `PDF`, or `.TXT` files (or use built-in text editor) | +| **Queue options** | Add multiple files to a queue and process them in batch, with individual settings for each file. See [Queue mode](#queue-mode) for more details. | +| **Speed** | Adjust speech rate from `0.1x` to `2.0x` | +| **Select Voice** | First letter of the language code (e.g., `a` for American English, `b` for British English, etc.), second letter is for `m` for male and `f` for female. | +| **Voice mixer** | Create custom voices by mixing different voice models with a profile system. See [Voice Mixer](#voice-mixer) for more details. | +| **Voice preview** | Listen to the selected voice before processing. | +| **Generate subtitles** | `Disabled`, `Sentence`, `Sentence + Comma`, `1 word`, `2 words`, `3 words`, etc. (Represents the number of words in each subtitle entry) | +| **Output voice format** | `.WAV`, `.FLAC`, `.MP3`, `.OPUS (best compression)` and `M4B (with chapters)` (Special thanks to [@jborza](https://github.com/jborza) for chapter support in PR [#10](https://github.com/denizsafak/abogen/pull/10)) | +| **Output subtitle format** | Configures the subtitle format as `SRT (standard)`, `ASS (wide)`, `ASS (narrow)`, `ASS (centered wide)`, or `ASS (centered narrow)`. | +| **Replace single newlines with spaces** | Replaces single newlines with spaces in the text. This is useful for texts that have imaginary line breaks. | +| **Save location** | `Save next to input file`, `Save to desktop`, or `Choose output folder` | + +| Book handler options | Description | +|---------|-------------| +| **Chapter Control** | Select specific `chapters` from ePUBs or `chapters + pages` from PDFs. | +| **Save each chapter separately** | Save each chapter in e-books as a separate audio file. | +| **Create a merged version** | Create a single audio file that combines all chapters. (If `Save each chapter separately` is disabled, this option will be the default behavior.) | +| **Save in a project folder with metadata** | Save the converted items in a project folder with available metadata files. | + +| Menu options | Description | +|---------|-------------| +| **Theme** | Change the application's theme using `System`, `Light`, or `Dark` options. | +| **Configure max words per subtitle** | Configures the maximum number of words per subtitle entry. | +| **Separate chapters audio format** | Configures the audio format for separate chapters as `wav`, `flac`, `mp3`, or `opus`. | +| **Create desktop shortcut** | Creates a shortcut on your desktop for easy access. | +| **Open config.json directory** | Opens the directory where the configuration file is stored. | +| **Open temp directory** | Opens the temporary directory where converted text files are stored. | +| **Clear temporary files** | Deletes temporary files created during the conversion or preview. | +| **Check for updates at startup** | Automatically checks for updates when the program starts. | ## `Voice Mixer` With voice mixer, you can create custom voices by mixing different voice models. You can adjust the weight of each voice and save your custom voice as a profile for future use. The voice mixer allows you to create unique and personalized voices. (Huge thanks to [@jborza](https://github.com/jborza) for making this possible through his contributions in [#5](https://github.com/denizsafak/abogen/pull/5)) +## `Queue Mode` + + +Abogen supports **queue mode**, allowing you to add multiple files to a processing queue. This is useful if you want to convert several files in one batch. + +- You can add text files (`.txt`) directly using the **Add files** button in the Queue Manager. To add PDF or EPUB files, use the input box in the main window and click the **Add to Queue** button. +- Each file in the queue keeps the configuration settings that were active when it was added. Changing the main window configuration afterward does **not** affect files already in the queue. +- You can view each file's configuration by hovering over them. + +Abogen will process each item in the queue automatically, saving outputs as configured. +> Special thanks to [@jborza](https://github.com/jborza) for adding queue mode in PR [#35](https://github.com/denizsafak/abogen/pull/35) + ## `About Chapter Markers` When you process ePUB or PDF files, Abogen converts them into text files stored in your temporary directory. When you click "Edit," you're actually modifying these converted text files. In these text files, you'll notice tags that look like this: @@ -257,12 +280,12 @@ Abogen is a standalone project, but it is inspired by and shares some similariti - [ebook2audiobook](https://github.com/DrewThomasson/ebook2audiobook): Convert ebooks to audiobooks with chapters and metadata using dynamic AI models and voice cloning ## `Roadmap` -- [ ] Add OCR scan feature for PDF files using docling. +- [ ] Add OCR scan feature for PDF files using docling/teserract. - [x] Add chapter metadata for .m4a files. (Issue [#9](https://github.com/denizsafak/abogen/issues/9), PR [#10](https://github.com/denizsafak/abogen/pull/10)) - [ ] Add support for different languages in GUI. - [x] Add voice formula feature that enables mixing different voice models. (Issue [#1](https://github.com/denizsafak/abogen/issues/1), PR [#5](https://github.com/denizsafak/abogen/pull/5)) - [ ] Add support for kokoro-onnx (If it's necessary). -- [ ] Add dark mode. +- [x] Add dark mode. ## `Troubleshooting` If you encounter any issues while running Abogen, try launching it from the command line with: diff --git a/abogen/VERSION b/abogen/VERSION index e5a4a5e..1cc5f65 100644 --- a/abogen/VERSION +++ b/abogen/VERSION @@ -1 +1 @@ -1.0.9 \ No newline at end of file +1.1.0 \ No newline at end of file diff --git a/abogen/constants.py b/abogen/constants.py index 955bc4b..e20140f 100644 --- a/abogen/constants.py +++ b/abogen/constants.py @@ -1,4 +1,4 @@ -from utils import get_version +from abogen.utils import get_version # Program Information PROGRAM_NAME = "abogen" diff --git a/abogen/conversion.py b/abogen/conversion.py index 0db8a83..1cbe1bc 100644 --- a/abogen/conversion.py +++ b/abogen/conversion.py @@ -6,11 +6,11 @@ import chardet import charset_normalizer import hashlib # For generating unique cache filenames from platformdirs import user_desktop_dir -from PyQt5.QtCore import QThread, pyqtSignal, Qt +from PyQt5.QtCore import QThread, pyqtSignal, Qt, QTimer from PyQt5.QtWidgets import QCheckBox, QVBoxLayout, QDialog, QLabel, QDialogButtonBox import soundfile as sf from utils import clean_text, create_process -from constants import PROGRAM_NAME, LANGUAGE_DESCRIPTIONS, SAMPLE_VOICE_TEXTS +from constants import PROGRAM_NAME, LANGUAGE_DESCRIPTIONS, SAMPLE_VOICE_TEXTS, COLORS from voice_formulas import get_new_voice import hf_tracker import static_ffmpeg @@ -61,7 +61,7 @@ class ChapterOptionsDialog(QDialog): self.merge_at_end_checkbox = QCheckBox("Create a merged version at the end") # Set default states - self.save_separately_checkbox.setChecked(True) + self.save_separately_checkbox.setChecked(False) self.merge_at_end_checkbox.setChecked(True) # Connect checkbox state change signal @@ -72,14 +72,36 @@ class ChapterOptionsDialog(QDialog): layout.addWidget(self.save_separately_checkbox) layout.addWidget(self.merge_at_end_checkbox) + # Countdown label + self.countdown_seconds = 30 + self.countdown_label = QLabel(f"Auto-accepting in {self.countdown_seconds} seconds...") + self.countdown_label.setStyleSheet(f"color: {COLORS['GREEN']};") + layout.addWidget(self.countdown_label) + # Add OK button button_box = QDialogButtonBox(QDialogButtonBox.Ok) button_box.accepted.connect(self.accept) layout.addWidget(button_box) + # Timer for countdown + self._timer = QTimer(self) + self._timer.timeout.connect(self._on_timer_tick) + self._timer.start(1000) # 1 second interval + + # Store button_box for later use + self._button_box = button_box + # Initialize merge checkbox state self.update_merge_checkbox_state() + def _on_timer_tick(self): + self.countdown_seconds -= 1 + if self.countdown_seconds > 0: + self.countdown_label.setText(f"Auto-accepting in {self.countdown_seconds} seconds...") + else: + self._timer.stop() + self._button_box.accepted.emit() # Simulate OK click + def update_merge_checkbox_state(self): # Enable merge checkbox only if save separately is checked self.merge_at_end_checkbox.setEnabled(self.save_separately_checkbox.isChecked()) @@ -131,6 +153,7 @@ class ConversionThread(QThread): start_time, total_char_count, use_gpu=True, + from_queue=False ): # Add use_gpu parameter super().__init__() self._chapter_options_event = threading.Event() @@ -145,6 +168,7 @@ class ConversionThread(QThread): self.subtitle_mode = subtitle_mode self.cancel_requested = False self.output_format = output_format + self.from_queue = from_queue self.start_time = start_time # Store start_time self.total_char_count = total_char_count # Use passed total character count self.processed_char_count = 0 # Initialize processed character count @@ -316,8 +340,13 @@ class ConversionThread(QThread): hf_tracker.set_log_callback(lambda msg: self.log_updated.emit(msg)) # Show configuration self.log_updated.emit("Configuration:") - # Use display_path for logs if available, otherwise use the actual file name - display_file = self.display_path if self.display_path else self.file_name + + # Use file_name for logs if from_queue, otherwise use display_path if available + if getattr(self, "from_queue", False): + display_file = self.file_name + else: + display_file = self.display_path if self.display_path else self.file_name + self.log_updated.emit(f"- Input File: {display_file}") # Use file size string passed from GUI @@ -447,7 +476,14 @@ class ConversionThread(QThread): save_chapters_separately = getattr(self, "save_chapters_separately", False) chapters_out_dir = None suffix = "" - base_path = self.display_path if self.display_path else self.file_name + + + # Use file_name for logs if from_queue, otherwise use display_path if available + if getattr(self, "from_queue", False): + base_path = self.file_name + else: + base_path = self.display_path if self.display_path else self.file_name + base_name = os.path.splitext(os.path.basename(base_path))[0] if self.save_option == "Save to Desktop": parent_dir = user_desktop_dir() @@ -946,8 +982,13 @@ class ConversionThread(QThread): genre_match = re.search(r"<]*)>>", text) # Use display path or filename as fallback for title - filename = os.path.splitext(os.path.basename(self.display_path if self.display_path else self.file_name))[0] + # Use file_name for logs if from_queue, otherwise use display_path if available + if getattr(self, "from_queue", False): + filename = os.path.splitext(os.path.basename(self.file_name))[0] + else: + filename = os.path.splitext(os.path.basename(self.display_path if self.display_path else self.file_name))[0] + if title_match: metadata_options.extend(["-metadata", f"title={title_match.group(1)}"]) else: diff --git a/abogen/gui.py b/abogen/gui.py index b670ba2..93209b6 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -6,7 +6,7 @@ import base64 import re from abogen.queue_manager_gui import QueueManager from abogen.queued_item import QueuedItem -import hf_tracker +import abogen.hf_tracker as hf_tracker import hashlib # Added for cache path generation from PyQt5.QtWidgets import ( QApplication, @@ -53,7 +53,7 @@ from PyQt5.QtGui import ( QColor, QMovie, ) -from utils import ( +from abogen.utils import ( load_config, save_config, get_gpu_acceleration, @@ -64,9 +64,9 @@ from utils import ( get_resource_path, LoadPipelineThread, ) -from conversion import ConversionThread, VoicePreviewThread, PlayAudioThread -from book_handler import HandlerDialog -from constants import ( +from abogen.conversion import ConversionThread, VoicePreviewThread, PlayAudioThread +from abogen.book_handler import HandlerDialog +from abogen.constants import ( PROGRAM_NAME, VERSION, GITHUB_URL, @@ -77,8 +77,8 @@ from constants import ( COLORS ) from threading import Thread -from voice_formula_gui import VoiceFormulaDialog -from voice_profiles import load_profiles +from abogen.voice_formula_gui import VoiceFormulaDialog +from abogen.voice_profiles import load_profiles # Import ctypes for Windows-specific taskbar icon if platform.system() == "Windows": @@ -300,6 +300,9 @@ class InputBox(QLabel): self.window().btn_add_to_queue.setEnabled(True) self.chapters_btn.adjustSize() + # Reset the input_box_cleared_by_queue flag after setting file info + if hasattr(self.window(), 'input_box_cleared_by_queue'): + self.window().input_box_cleared_by_queue = False def set_error(self, message): self.setText(message) @@ -329,6 +332,9 @@ class InputBox(QLabel): # Disable add to queue button when input is cleared if hasattr(self.window(), 'btn_add_to_queue'): self.window().btn_add_to_queue.setEnabled(False) + # Reset the input_box_cleared_by_queue flag after setting file info + if hasattr(self.window(), 'input_box_cleared_by_queue'): + self.window().input_box_cleared_by_queue = True def _human_readable_size(self, size, decimal_places=2): for unit in ["B", "KB", "MB", "GB", "TB"]: @@ -343,15 +349,38 @@ class InputBox(QLabel): def dragEnterEvent(self, event): if event.mimeData().hasUrls(): - ext = event.mimeData().urls()[0].toLocalFile().lower() - if ext.endswith(".txt") or ext.endswith(".epub") or ext.endswith(".pdf"): - event.acceptProposedAction() - return + urls = event.mimeData().urls() + if urls: + ext = urls[0].toLocalFile().lower() + if ext.endswith(".txt") or ext.endswith(".epub") or ext.endswith(".pdf"): + event.acceptProposedAction() + # Set hover style based on current state + if self.styleSheet().find(self.STYLE_ACTIVE) != -1: + self.setStyleSheet(f"QLabel {{ {self.STYLE_ACTIVE} }} QLabel:hover {{ {self.STYLE_ACTIVE_HOVER} }} {self.STYLE_ACTIVE_HOVER}") + elif self.styleSheet().find(self.STYLE_ERROR) != -1: + self.setStyleSheet(f"QLabel {{ {self.STYLE_ERROR} }} QLabel:hover {{ {self.STYLE_ERROR_HOVER} }} {self.STYLE_ERROR_HOVER}") + else: + self.setStyleSheet(f"QLabel {{ {self.STYLE_DEFAULT} }} QLabel:hover {{ {self.STYLE_DEFAULT_HOVER} }} {self.STYLE_DEFAULT_HOVER}") + return event.ignore() + def dragLeaveEvent(self, event): + # Restore the style based on current state + if self.styleSheet().find(self.STYLE_ACTIVE) != -1: + self.setStyleSheet(f"QLabel {{ {self.STYLE_ACTIVE} }} QLabel:hover {{ {self.STYLE_ACTIVE_HOVER} }}") + elif self.styleSheet().find(self.STYLE_ERROR) != -1: + self.setStyleSheet(f"QLabel {{ {self.STYLE_ERROR} }} QLabel:hover {{ {self.STYLE_ERROR_HOVER} }}") + else: + self.setStyleSheet(f"QLabel {{ {self.STYLE_DEFAULT} }} QLabel:hover {{ {self.STYLE_DEFAULT_HOVER} }}") + event.accept() + def dropEvent(self, event): if event.mimeData().hasUrls(): - file_path = event.mimeData().urls()[0].toLocalFile() + urls = event.mimeData().urls() + if not urls: + event.ignore() + return + file_path = urls[0].toLocalFile() win = self.window() if file_path.lower().endswith(".txt"): win.selected_file, win.selected_file_type = file_path, "txt" @@ -642,7 +671,7 @@ class abogen(QWidget): self.voice_combo.setCurrentIndex(idx) # If a profile is selected at startup, load voices and language if self.selected_profile_name: - from voice_profiles import load_profiles + from abogen.voice_profiles import load_profiles entry = load_profiles().get(self.selected_profile_name, {}) if isinstance(entry, dict): @@ -706,11 +735,11 @@ class abogen(QWidget): self.btn_manage_queue.setEnabled(True) self.btn_manage_queue.clicked.connect(self.manage_queue) queue_row.addWidget(self.btn_manage_queue) - self.btn_start_queue = QPushButton("Clear Queue", self) - self.btn_start_queue.setFixedHeight(40) - self.btn_start_queue.setEnabled(False) - self.btn_start_queue.clicked.connect(self.clear_queue) - queue_row.addWidget(self.btn_start_queue) + self.btn_clear_queue = QPushButton("Clear Queue", self) + self.btn_clear_queue.setFixedHeight(40) + self.btn_clear_queue.setEnabled(False) + self.btn_clear_queue.clicked.connect(self.clear_queue) + queue_row.addWidget(self.btn_clear_queue) container_layout.addWidget(self.queue_row_widget) self.log_text = QTextEdit(self) self.log_text.setReadOnly(True) @@ -1026,6 +1055,9 @@ class abogen(QWidget): self.setLayout(outer_layout) self.populate_profiles_in_voice_combo() + # Initialize flag to track if input box was cleared by queue + self.input_box_cleared_by_queue = False + def open_file_dialog(self): if self.is_converting: return @@ -1255,7 +1287,7 @@ class abogen(QWidget): if isinstance(data, str) and data.startswith("profile:"): pname = data.split(":", 1)[1] self.selected_profile_name = pname - from voice_profiles import load_profiles + from abogen.voice_profiles import load_profiles entry = load_profiles().get(pname, {}) # set mixed voices and language @@ -1288,7 +1320,7 @@ class abogen(QWidget): self.subtitle_combo.setEnabled(False) def update_subtitle_combo_for_profile(self, profile_name): - from voice_profiles import load_profiles + from abogen.voice_profiles import load_profiles entry = load_profiles().get(profile_name, {}) lang = entry.get("language") if isinstance(entry, dict) else None @@ -1398,7 +1430,7 @@ class abogen(QWidget): def enable_disable_queue_buttons(self): enabled = bool(self.queued_items) - self.btn_start_queue.setEnabled(enabled) + self.btn_clear_queue.setEnabled(enabled) # Update Manage Queue button text with count if enabled: self.btn_manage_queue.setText(f"Manage Queue ({len(self.queued_items)})") @@ -1434,15 +1466,18 @@ class abogen(QWidget): return self.queued_items def add_to_queue(self): - if not self.selected_file: + # Use the file currently displayed in the input box + file_to_queue = self.displayed_file_path if self.displayed_file_path else self.selected_file + + if not file_to_queue: self.input_box.set_error("Please add a file.") return actual_subtitle_mode = self.get_actual_subtitle_mode() voice_formula = self.get_voice_formula() selected_lang = self.get_selected_lang(voice_formula) - item = QueuedItem( - file_name=self.selected_file, + item_queue = QueuedItem( + file_name=file_to_queue, lang_code=selected_lang, speed=self.speed_slider.value() / 100.0, voice=voice_formula, @@ -1457,23 +1492,24 @@ class abogen(QWidget): # Prevent adding duplicate items to the queue for queued_item in self.queued_items: if ( - queued_item.file_name == item.file_name and - queued_item.lang_code == item.lang_code and - queued_item.speed == item.speed and - queued_item.voice == item.voice and - queued_item.save_option == item.save_option and - queued_item.output_folder == item.output_folder and - queued_item.subtitle_mode == item.subtitle_mode and - queued_item.output_format == item.output_format and - queued_item.total_char_count == item.total_char_count and - getattr(queued_item, "replace_single_newlines", False) == item.replace_single_newlines + queued_item.file_name == item_queue.file_name and + queued_item.lang_code == item_queue.lang_code and + queued_item.speed == item_queue.speed and + queued_item.voice == item_queue.voice and + queued_item.save_option == item_queue.save_option and + queued_item.output_folder == item_queue.output_folder and + queued_item.subtitle_mode == item_queue.subtitle_mode and + queued_item.output_format == item_queue.output_format and + getattr(queued_item, "replace_single_newlines", False) == item_queue.replace_single_newlines ): QMessageBox.warning(self, "Duplicate Item", "This item is already in the queue.") return - self.enqueue(item) + print("Adding:", item_queue) + self.enqueue(item_queue) # Clear input after adding to queue self.input_box.clear_input() + self.input_box_cleared_by_queue = True # Set flag self.enable_disable_queue_buttons() def clear_queue(self): @@ -1505,18 +1541,18 @@ class abogen(QWidget): def start_next_queued_item(self): if self.current_queue_index < len(self.queued_items): - item = self.queued_items[self.current_queue_index] - self.selected_file = item.file_name - self.selected_lang = item.lang_code - self.speed_slider.setValue(int(item.speed * 100)) - self.selected_voice = item.voice - self.save_option = item.save_option - self.selected_output_folder = item.output_folder - self.subtitle_mode = item.subtitle_mode - self.selected_format = item.output_format - self.char_count = item.total_char_count - self.replace_single_newlines = getattr(item, "replace_single_newlines", False) - self.start_conversion() + queued_item = self.queued_items[self.current_queue_index] + self.selected_file = queued_item.file_name + self.selected_lang = queued_item.lang_code + self.speed_slider.setValue(int(queued_item.speed * 100)) + self.selected_voice = queued_item.voice + self.save_option = queued_item.save_option + self.selected_output_folder = queued_item.output_folder + self.subtitle_mode = queued_item.subtitle_mode + self.selected_format = queued_item.output_format + self.char_count = queued_item.total_char_count + self.replace_single_newlines = getattr(queued_item, "replace_single_newlines", False) + self.start_conversion(from_queue=True) else: # Queue finished, reset index self.current_queue_index = 0 @@ -1542,7 +1578,7 @@ class abogen(QWidget): def get_selected_lang(self, voice_formula) -> str: if self.selected_profile_name: - from voice_profiles import load_profiles + from abogen.voice_profiles import load_profiles entry = load_profiles().get(self.selected_profile_name, {}) selected_lang = entry.get("language") else: @@ -1560,7 +1596,7 @@ class abogen(QWidget): else self.subtitle_mode ) - def start_conversion(self): + def start_conversion(self, from_queue=False): if not self.selected_file: self.input_box.set_error("Please add a file.") return @@ -1624,6 +1660,7 @@ class abogen(QWidget): start_time=self.start_time, total_char_count=self.char_count, use_gpu=self.gpu_ok, + from_queue=from_queue, ) # Use gpu_ok status # Pass the displayed file path to the log_updated signal handler in ConversionThread self.conversion_thread.display_path = display_path @@ -1695,11 +1732,13 @@ class abogen(QWidget): if self.displayed_file_path else self.selected_file ) - # Check if the file exists before trying to set file info - if display_path and os.path.exists(display_path): - self.input_box.set_file_info(display_path) + # Only repopulate if not cleared by queue + if not getattr(self, 'input_box_cleared_by_queue', False): + if display_path and os.path.exists(display_path): + self.input_box.set_file_info(display_path) + else: + self.input_box.clear_input() else: - # Clear the input if the file no longer exists self.input_box.clear_input() return @@ -1738,8 +1777,6 @@ class abogen(QWidget): def reset_ui(self): try: - self.restore_input_box() - self.input_box.clear_input() # Reset text and style self.etr_label.hide() # Hide ETR label self.progress_bar.setValue(0) self.progress_bar.hide() @@ -1762,6 +1799,8 @@ class abogen(QWidget): pass # Ignore error if not connected self.btn_start.clicked.connect(self.start_conversion) self.enable_disable_queue_buttons() + self.restore_input_box() + self.input_box.clear_input() # Reset text and style except Exception as e: self._show_error_message_box("Reset Error", f"Could not reset UI:\n{e}") @@ -1777,11 +1816,13 @@ class abogen(QWidget): self.displayed_file_path if self.displayed_file_path else self.selected_file ) - # Check if the file exists before trying to set file info - if display_path and os.path.exists(display_path): - self.input_box.set_file_info(display_path) + # Only repopulate if not cleared by queue + if not getattr(self, 'input_box_cleared_by_queue', False): + if display_path and os.path.exists(display_path): + self.input_box.set_file_info(display_path) + else: + self.input_box.clear_input() else: - # Clear the input if the file no longer exists self.input_box.clear_input() # Ensure open file button is visible when going back @@ -1868,7 +1909,7 @@ class abogen(QWidget): voice_formula = " + ".join(filter(None, components)) voice_to_cache = voice_formula if self.selected_profile_name: - from voice_profiles import load_profiles + from abogen.voice_profiles import load_profiles entry = load_profiles().get(self.selected_profile_name, {}) lang_to_cache = entry.get("language") else: @@ -2002,7 +2043,7 @@ class abogen(QWidget): voice = " + ".join(filter(None, components)) # determine language: use profile setting, else explicit mixer selection, else fallback to first voice code if self.selected_profile_name: - from voice_profiles import load_profiles + from abogen.voice_profiles import load_profiles entry = load_profiles().get(self.selected_profile_name, {}) lang = entry.get("language") @@ -2151,11 +2192,13 @@ class abogen(QWidget): if self.displayed_file_path else self.selected_file ) - # Check if the file exists before trying to set file info - if display_path and os.path.exists(display_path): - self.input_box.set_file_info(display_path) + # Only repopulate if not cleared by queue + if not getattr(self, 'input_box_cleared_by_queue', False): + if display_path and os.path.exists(display_path): + self.input_box.set_file_info(display_path) + else: + self.input_box.clear_input() else: - # Clear the input if the file no longer exists self.input_box.clear_input() if ( hasattr(self, "conversion_thread") @@ -2213,7 +2256,7 @@ class abogen(QWidget): def show_chapter_options_dialog(self, chapter_count): """Show dialog to ask user about chapter processing options when chapters are detected in a .txt file""" - from conversion import ChapterOptionsDialog + from abogen.conversion import ChapterOptionsDialog dialog = ChapterOptionsDialog(chapter_count, parent=self) dialog.setWindowModality(Qt.ApplicationModal) @@ -2458,7 +2501,7 @@ class abogen(QWidget): def reveal_config_in_explorer(self): """Open the configuration file location in file explorer.""" - from utils import get_user_config_path + from abogen.utils import get_user_config_path try: config_path = get_user_config_path() @@ -2490,7 +2533,7 @@ class abogen(QWidget): """Create a desktop shortcut to this program using PowerShell.""" import sys from platformdirs import user_desktop_dir - from utils import create_process + from abogen.utils import create_process try: if platform.system() == "Windows": @@ -2625,7 +2668,7 @@ Categories=AudioVideo;Audio;Utility; save_config(self.config) def show_voice_formula_dialog(self): - from voice_profiles import load_profiles + from abogen.voice_profiles import load_profiles profiles = load_profiles() initial_state = None diff --git a/abogen/main.py b/abogen/main.py index 2a311a9..d1d4a41 100644 --- a/abogen/main.py +++ b/abogen/main.py @@ -7,9 +7,9 @@ from PyQt5.QtCore import qInstallMessageHandler, QtMsgType # Add the directory to Python path sys.path.insert(0, os.path.join(os.path.dirname(__file__))) -from gui import abogen -from utils import get_resource_path -from constants import PROGRAM_NAME, VERSION +from abogen.gui import abogen +from abogen.utils import get_resource_path +from abogen.constants import PROGRAM_NAME, VERSION # Set environment variables for AMD ROCm os.environ["MIOPEN_FIND_MODE"] = "FAST" diff --git a/abogen/queue_manager_gui.py b/abogen/queue_manager_gui.py index 5380a62..8e9ab1d 100644 --- a/abogen/queue_manager_gui.py +++ b/abogen/queue_manager_gui.py @@ -16,7 +16,7 @@ from PyQt5.QtWidgets import ( QSizePolicy, ) from PyQt5.QtCore import QFileInfo, Qt -from constants import COLORS +from abogen.constants import COLORS from copy import deepcopy from PyQt5.QtGui import QFontMetrics @@ -243,26 +243,23 @@ class QueueManager(QDialog): items = self.listwidget.selectedItems() if not items: return - import os from PyQt5.QtWidgets import QMessageBox - display_names = [item.text() for item in items] - to_remove = [] - for q in self.queue: - if os.path.basename(q.file_name) in display_names: - to_remove.append(q) + # Remove by index to ensure correct mapping + rows = sorted([self.listwidget.row(item) for item in items], reverse=True) # Warn user if removing multiple files - if len(to_remove) > 1: + if len(rows) > 1: reply = QMessageBox.question( self, "Confirm Remove", - f"Are you sure you want to remove {len(to_remove)} selected items from the queue?", + f"Are you sure you want to remove {len(rows)} selected items from the queue?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No ) if reply != QMessageBox.Yes: return - for item in to_remove: - self.queue.remove(item) + for row in rows: + if 0 <= row < len(self.queue): + del self.queue[row] self.process_queue() self.update_button_states() @@ -328,7 +325,7 @@ class QueueManager(QDialog): return attrs def add_files_from_paths(self, file_paths): - from utils import calculate_text_length + from abogen.utils import calculate_text_length from PyQt5.QtWidgets import QMessageBox import os current_attrs = self.get_current_attributes() @@ -378,9 +375,8 @@ class QueueManager(QDialog): self.update_button_states() def add_more_files(self): - from PyQt5.QtWidgets import QFileDialog, QMessageBox - import os - from utils import calculate_text_length # import the function + from PyQt5.QtWidgets import QFileDialog + from abogen.utils import calculate_text_length # import the function # Only allow .txt files files, _ = QFileDialog.getOpenFileNames(self, "Select .txt files", "", "Text Files (*.txt)") if not files: diff --git a/abogen/voice_formula_gui.py b/abogen/voice_formula_gui.py index a9d0d70..a6e09aa 100644 --- a/abogen/voice_formula_gui.py +++ b/abogen/voice_formula_gui.py @@ -28,7 +28,7 @@ from PyQt5.QtWidgets import ( ) from PyQt5.QtCore import Qt, QTimer, QPoint, QRect, QSize from PyQt5.QtGui import QPixmap, QIcon -from constants import ( +from abogen.constants import ( VOICES_INTERNAL, SUPPORTED_LANGUAGES_FOR_SUBTITLE_GENERATION, LANGUAGE_DESCRIPTIONS, @@ -36,8 +36,8 @@ from constants import ( ) import re import platform -from utils import get_resource_path -from voice_profiles import ( +from abogen.utils import get_resource_path +from abogen.voice_profiles import ( load_profiles, save_profiles, delete_profile, @@ -1084,7 +1084,7 @@ class VoiceFormulaDialog(QDialog): self, "Import Profiles", "", "JSON Files (*.json)" ) if path: - from voice_profiles import load_profiles, save_profiles + from abogen.voice_profiles import load_profiles, save_profiles # Try to read the file and count profiles try: diff --git a/abogen/voice_formulas.py b/abogen/voice_formulas.py index c28dfbe..af18c52 100644 --- a/abogen/voice_formulas.py +++ b/abogen/voice_formulas.py @@ -1,6 +1,5 @@ import re -from constants import VOICES_INTERNAL - +from abogen.constants import VOICES_INTERNAL # Calls parsing and loads the voice to gpu or cpu def get_new_voice(pipeline, formula, use_gpu): diff --git a/abogen/voice_profiles.py b/abogen/voice_profiles.py index 637ecce..77a07d0 100644 --- a/abogen/voice_profiles.py +++ b/abogen/voice_profiles.py @@ -1,6 +1,6 @@ import os import json -from utils import get_user_config_path +from abogen.utils import get_user_config_path def _get_profiles_path(): diff --git a/demo/abogen.png b/demo/abogen.png index b11c5dd040928f1d9bf391c4282719eef6c9c202..6ece4fc6b7483f0825087c6c78a2085f42d14edb 100644 GIT binary patch literal 64012 zcma&O1yohR_xG)$Qc@xbaz~&yGxJ~32Bh-&P#V(y6e(i&q06B z|NTGfeb@he*19a>%$YN1X3xyt-~AbaKg)@up%9`xdGZ8JQbJVm$&;t2Po5wMBE1Cu zGXFZg1^9++BcW#h+7lKQ77z(C1+DBLu+ScQwIy9CwltUUyZEZIRRxr%vl2pY)_uN zdmf8emjVcj-wQ0KBIMaP~5DgRllpE zss)`bdrH^n{Mzk+&---yVTe1HAO`bY@AGG|o4bQCNwwCgHw&9-_CtJAPlm@yh_TbZ zr+C;q$iQ66d*5QTJR$SL6dqLdASu~&foKmdMiBE|3qc?Yw&i?0Ig*XnXxc$l-7tOD zq`f!x!boIm4c*KHIXy@khUq=Ox4PuSM?CCPug^&FSOWFFn_urC0o5rYziKyR`JsVt ztmHjX=b39!-kb6{X&)K5WOu)GuW6b2)Ood3UTYf$8_V6Wf1QE z%2e>sGoz4Ci*GP5zU?5WXgs&TQs{v~h4mDy!ZjIyC%^8(Pl)Abkzr0EUp^r?yz
`Wjq?xy5D6% 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 literal 23118 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 literal 42156 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 NGPg#R{o;P(-vJ#1P>lcp diff --git a/demo/chapter_marker.png b/demo/chapter_marker.png index 5e676fb9539561cbb1bc140916dfcaa0a0769321..b5d62a601259057362dba405d7740421819b56c2 100644 GIT binary patch literal 31440 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%0D!pUON=6@ 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 literal 11208 zcmZ{~byyVd_dmS!A|PPE(j_3>NJy7TiKuigv2=IC(y2%zDJ9)q(j_3x(o1)D{D$}E z`TqG_*T&2}Gv_|{xzBl>n$V9*a(GWjpMXFhy!Y>6f`oM8J7!&wC`f6SY{Gm8} zl9L3L{3YK4PS8yy6eU2Q@@Sk}0}S9C+xDG?0|@lA#o64#wmuAA0n0y9#^{g>0uowlm0)(h2Gwvfw z_BfCB*#GG5G>2b0V| zSNr%Q6T)lKGIr#R;ou(JsLSXOcXOha2K1=eGBFU5gT;#&CgYPMJ3wKkcKI zB+w8iJs6Yw_gyF5s7LpZ>irfFiEeqHqzBR`g+O?d7}TbsL!)<&NXq-5gMz`i^zC)t zor8B_<90QZp$-~RAox3fhdbC7*86Cw=cEt;bY9!PXI?|Arl4zk@TM_}??@YD>LM>< zXpSF3eX0(Tr(p7my*@vUj>@szG-j-RMGd0b06|B-zqfTOg6Agn#5j~pMRLJ3fA9W^ zM~9N9a*2as-CW<%(FKs}qQsJDrm`B>8@S!~rnt$saI@qhoYV@#AzFD69!eWaUdeh$8Bv36Q38sk>ZE_?z@aD{Y zNG0hQb@?mBqJhyK)|Tnw2r}VqYpcpNFtaBgsKS9YloCA@oFmPX-~^J#hY$C6Y`43M zQ3iip=)Q-m^*$9ryE#TaFhkJ7az#6R>YC9J`^7RdVaD6n!2KpmbAj@gGXp(`*N4Um z9OoT9Bz2&+DyBJKJ6;u}Jea1^a4mA+5OFc*_k9)PaP=ij5)Dv1nS|lYtp&}ZU)>1+ zjiG+Bgk?XE1M$&S4Nj0}Ie%#5WcdvXi;Y&IpPxR=vCUzZCXaB(XJ~$F^6^)Z*D>N7amd#MPDxQvC|+8n;2s$wq3lVuJDBM6@XbG zx>GE!CQe<3EVJwAYPCWM{jFy~tyUTl!L4-=`Gif5O0E-F1!24~fn@Il%+c|MT8Xww z?3i}FJ;ugxx>~HmdgIO;D%aE6{rexuY3tQf-hub`(D)Zu)^y#69xm+dY8FJuB&o62 znz&V>WnejF>q>lr*~p$~q^Z~q$@R_6Q2NS>;g7hu<)!w3&4YuU zAUv}138IK^-v}L@oMyJ)h>Av4TTK1daByDjB|JSpPreB!Sc!6oIy#a+yb=ft3mfn9 zwe;-i;V_t~FphF-+Kj|cv8DCur8A*S6-gA3-I4|RReE4F&u`Adq!SCR1 zl@3m&4qvp;jyPK*znK5>t5tG@n_;)B#p}j)bA-lnv1R@iAc(WzePhM9Q$#{S(!S8_ z!Ntv;#hzSFCl{p;X!~@NTV-)nM@PqWtxbBeNTJuw`Qs|q4^sH8{+#b2h)=0rORoR> zPA_lUfj7V@>dgdIo`!ka)ESV(vub3q|HVcd$V8Df2TMFB{c0Cf@T*OESaIccoY(sy z_ob^x3^GUcy=Ud0U`8MA!1mg_BScD=@2{X=T1)a-gK5qpSQ#J{N`jewva zOs!c-UT$vxY`JK|ll37pyww1F(U5@z4rK2)x*A8x-dzWCIL^%FABYrKZOx?kwjWov9tnb~M@9p0DAyc6tO z-5ETA>y|dLRtJ*j@BI>#6`{v;UJMxEjP=;`wp_*Znm8M$+e^EqlfS}X%z$m$6xBQ> z16NnbqiAZZ5M_2qS#lxAUj86=K(#&BSoGSvBgs^>wIilFqOGTd9EA9m#iorlxk1*);h@lD$FYeh@xr3K;geKdC!t zxhVt4KF%^WHkMyf(hab5bdIn=PHNe70Zf0?)dft??s49osnVWD4j-2Y01;pfJpS#} z{MK_J%gY8$*V~14$S7e@TZGqqgVS__6U*09-N=>}QAFKMAP%wR%|O9ZIIEG2jLhNH zDc5pALG+W^OVqYj^84xw8t{pzo}1RpP*+^tk0v2v%dQLtw@r4;l^LLY z0CZtFm@3)KJk8^vnV6oQz9jDf5YwX}U)=!6^HEbXES6C@*$hxxvu521K}ka?g$MTDJe7t1_oO|1Uy5eH_3b!j}&-J|AIik@JH>` zWQwka18kc5UIX03zN^FtyQPaTn>M4XJBU^@2?zaRTS}}=#&Is@?b5%(%fT#!O7VOE z6)s1&Ub6#lb=#Y-~-HX__0R$HjivBOY;a`Gpg6%pMoU zv+INbre4^W8ybrJs8y^E2Mf&*3X1Bra{fYS^Z6#x2NQ!-{Iwsz9HrPHf) zWb-$6Sj#ho;;Xm1bp%oqcrM77e-D)tbUPTsCo}B&C?GemfA%QK>7BzvVJ}%gg1Umw zd!ng&0De_8G|UzZVhY-aq^+jE0E$~aUtb2mW~zHYS67#S%YJIIrI5oq?gx4KiB;a2 z71k;M67+A*_woU|zQ4OU8sr(y*8poAj^kJ>5wDy0b9tF-D#KGXCN?pYF}-p6qNfbD zTORz%qt%uIcpk9i`)gN1-Yxx+gI=!ob1X&5c#|8D52`VzM~#s!TZ-r-t1b?gJGQe@ zQw1F`*Vfi*GC|d*#rIF$cxq-5Rm@CG?TrU5g$x_3kHXp9%-26U;rYCw0h1IwOt9Zd}V=^ff( z>jQcpPbu{HgiV0wo>sljT)S?~n*6d1i;D1qE*Uq4dTDlyQW-^6n!9`2M+9g9cCzXYtKX0PCEh(T4v!Kw+nUQ>{-CCH!uk7V0L z(&F6trq8)8ap$tDn6B5Ens1ZO&@t80E>qbzy_FA#DRr!Wk^QY=;lKDJaT0>LMDH^1 z_rX^mK7f~0(`S7bFC&F4jz~z<&h^~4=ueo+0h7wAuP2Fdkx)=lnkB`zm<8a=Zg-li z6KQvPaRCJY0zyS4XJ*FKKky&oMMOtK*ZSiwyEwf4?(e-{#lH94l0UEQ@H%YAfyP*#E^^upj!bzxA1C}SOWRxSr^m87I=tFES{``4PqV4e?05gTHvc-> z*Aw><$x&}6x^1qtEY0UVw!d=k$D*1G3U=|9n(s{I*+;8c!1Aa*w%6mOFNL3JSWh zLq-mqdAJ6SP$}_~Y0MC?h@IEwn)!}=)NXo#cb2Xi&Ipg$c>=}V-DylGqVS3F0;7T! zT%ll}n}F8~?k6wWPMxPA-o9Mj778*(mcA0{f&pA}-UznK?y1(WR|vSmMB+8Xj}i zCWyA-NDM^LgMyjSD60600B!Q@a9dz<4oE%( z^>~U8$^LJOl$|Opa;d^r%5U&w-Pe^m_mX98=MuF3?yXebtyE_<8N})$z5baOz7wB^ z4PkLq>c~94+;zK8A^1)-{k^aJ-ZfY2R+dM44u19ea%Ii9cvitAT|d+Rj=F*_BDsVs zA~JGWeBfjJE&K&)$`*k%$ja+F*tw__4{gZ&zyRgLX;x#deCgOUf9o)%;)$A3&VeNiV`rA`M4CpHXkP739PtZ!ss@e$!W~KAk{gBi=R8V<#`o&K=c?2dCl|6*-!kW2rkYzrnaJ7X}(%{uV*o%Htd#my)=UPeK?fymS}>sGrg zoYOb9phV+0@fTv*xf%r>j;MBpd7Ek_vzs@*HA+rm8Us(VI{uBhn1tqKJ>jcSuTPl`)jOaaD)(;1W%_j3NwmJgRP!_&;ApMf+k*sr2-#;dGAYYR-{=+N7kRdBR~H7 zwW9#2Ljrmy(XU%IOXf^WDbt(&)l} z_`rc#u(Y^VPIf>6h>Kzl{NDkaLoU+>;lSIM)}jt`9*B#O{xxB5&|xpM8?TnOp3|a$ zEv*@e!=^isFBvJwZ^i5X)UdcF%^<6m>`44Mca&sZ_qw>%hz?ZcA;Yc6hN1lHjZ9g; zIXdbDC&w)@yu&t>d1_i@3Q_m72#tb52P~7q*7FZ)Xf>NovZpeiq#mQu%rff@UP4PP2E8%X)^puMj+r7yK z@r1FFZs*9hjhqwJe87j^>U|&C^Pws%1u)Gks)%w_JvbelU?ub&1I{fqW)h7%dVI`I zU|WQ4w-j)LUIf=R3Q)!H%*1@eJ8UeS06GBZ+Rri{q1qv=991;zkr3l4H6{RkSSq~< zM+B1Kqo`5HBNXB^;0q|$)VHO^5Ao+&3FpM#YDeCjm`8-Z=*LZi51h95{*ZlAIC4`r zvc~pm%3|KMV4?q4>8ZJqOVJXKVT_>oK{&Nq>Bp%FZe;(THj?x%l@K@=TLYE%2}g;j zgRhfwkb2?Wh4e4cjzLtxk_0&)JyWXyrwR_Y?$38ftw_YL#!TvjZq zembw{1rZ+cf5PY7vo*$}*q3H8xIKO%%o=GZdP@Y4(-V8*mu!s$VJ?Ujn0fwd1#(K<{Q@};Cp~ka*L>&Nxyr+WCQjRKJ98E& zRT_CB_AJ7q;rn$tte-P-vN2w2>=@4L5>S{B4>F06Rf|>-Cn%F^OqJXI7F!~Jp5ekD zaiFIIu|se>i3GbHRdg4S%TYUc;gx^AOvwg2k@$?iV~~8#W91v!n)TEN+bUL6Gglp- zpY{b+XUr~J5NSYuK5B!5i9VNg5bWPI->p0@ifQIHd6v?F&0QEvyy$xQyens7OWhoNIs?0IO)D$;1+`kRN zoJA1g@g-N@^9N$|TSk>VMoaY|bS zFK~j#?7#e%$Vs=b?F<%o2Hqio}Bu13c%UZ-Fzj{;^dU^QUC>>++n1Jb`Y7#TC643=AW zyf|AAB(fRHD^#s%>`Dz?6B3_nvNj$Fml|CkH{<;Mahd<6Cjg84r8}~!rZ~*0|0Znz zZSONg3(QTvM}GDpUgvVTju4_Ct6r$@-1@2~i2lvl1*Z>=qQ5wO=d#i$-1>{1PEelu zlU{JUj)u~F2@_Yu($KXakQ+%NWrulmMO53mV98Oq^ zCq^I{!h_-~a!RZme!lpS)d0k!y{uU@k6|T8#3;dIph)aaBm9VpG_Vh}kHe`$vxpHO ztQAPU`tN@=IOs9_T(G6#>O-w5r24j1}4`_~8z)C+Gv)KFd&nKUG z?l{ygv842m%fJcjb*^F=(=kllTB44rkfsFQ`)tFJ93XNp7gRPe(a_#-x@}<2`oEmE zY{N7my{#>I3~v0fPC$J&xec@ry_yHxIbMEGUY#jWIcQ!FRQ}5>oPCi^l!d#3w`ala z;_7|3I1?{A?|fagVq{X17qssFn?>U_oS;&WPWHoQn*F7G*tika^@|zKTy`q5F-9_8 z6Dc4Dwg5qKQ-_WlsVV2b1_tlg^h|eFHN38j;NZv4Li%#$D7YV}ACQ}FuDznof0LJ7 zUb?Z6>D<3lWfiTET!2{l3;on}4Bo!eUsk zHw_*BWUcABwPU0`Ocbqpuf1dbj`~w6d7(PX?U}~98C@qG4Z5rMg}Cd3*0Wkh1hEbdiTaP`G02|nSx%m^-2uZZa-^& zYI2Zne;>FR!OWhblyfZ`O_kuMTtGJL&Gp-cGmW_m4+KI@bov0J9<3<09)^uoiU7+x?PK`Eo#Z zA@yjQ*S!?dEhzY#Y$k-KDr6UTPa9cv`s&QPAk zVn)Kz(RJp+`pCFIP4lhw6+a6MpW7k?Nsb#N_46O{7&)|J7Mmi&*hEFf0}Rh-J)3}AJ&et!}_n=%u8ua6FHEh z+soFvk$779dw&5gTI`Y0=a#E4X-|({m-}*EG-Pw2!_{(;;M&C|%>bEFl4Y#+yN7s3 z;zj&IxCkR@GHS?qXUygvre$6@jiZLLO3$1LhjZ^v&0fE`K($rcnre`if>{t}VtFQ) zz&N5%U(S5Kgdl6(ta-|w?P%?D>DyzE2&QR>WK$zCA*nYtM)wmwbc2wVw-Gn3&(k%K zDIpoU&9sJlUZ20x>5EiHoKc(iX^xJ-#j7ZU8@>tY{18Dp4+zN8{!6~9c~#qFjo|Mt z8Jd0`QY91#74FT$txfz~@$G}oQdR1H;{+lch+F)>81td}nSWmYRKnMyy^Xn8`z9>aC0TK0G7Fa~LY4{(t#1~A=W=Ub7C=Sy9KRINZ3Zr!!yRkZrs3DZJp+c zEpBEI;bV*6e5w$cfXk#N&*j$ai zcs<8<$_|$7bvhUpO2^o6i$ZyT-s1ilZeFVgs{YvrN*QZCjD&7>(mK*WCyf}zHssb? zD*SfG!~DA`j|R|ZEO~k5?E617)@b3dXRKrjnyi}13*9$IyiwD73qvIDT3G3dKBx|0!9eknl<Vgz%VN(EZC&`MH za43n05p??mqRDd}zqeIjj4i#LLdeG$IQTWHzhF+mXz<%t9viP$nGc!e_tpdH1=_(4 zc|Y0IJ#3VW3kH%YOep@2kSR!iOn34T>@+W^Ts#PF<%@5@)AAZ`Fq)1g5u~8XLt5Kv zEbLV2ZvW)#*Z)qc|#a&;7& zRA5A@;oDxc^C0Fvz#NAo_7A5oF1c-#`c(o=p&OGIplGw^-3#XeEwuN!jgd2 zp6eURdg~ep_qdlFg!4GsNy7xqnMGd1L~EEir28ZJvPc2=S@XPoGG*=YH%bdy|Lb*> z`qrN{BvOTEyLp8`2ArdS@a8>F>EF6E659W&G{A<~dqT5+<*H#ku=Dv%X-^m{uiGMq zL3K$H#K!wVw1|a;f2=67^kShj6Z4Dp9tSFH=f~K12dqkJ+Bmi2D{lr9flPF<3ylXp z0PkGBu}MNo8UreBti&VG1*X>RmtXSV-{_R2@L}fcmy3Y4PPFRda@ZXREpbssDJ!`) z_oC>=AqpIHT16mV0nFeCAFR<#B|h>;FnrGmpuYqY&zSeX>jY$Mq;VrqJ$OsS5nkj* zv7K8YSArc;etY0w=DxH0iW2b#PTbOr4R|5b=}Xk!vv6+S5P>Whzw+odK@=Gd6v+5@ zMe5?S`!naXS6>9Y$d}DY4q`RN!=u$I&s|cg(jc?0GBD+oze@UCwIr?v9yOtB?bvE4 z76l-FI^LaEzDF)@K(v>>^b0#6B8Y+y$?%{@8;HQm4HCUaCi$>G#AD&f0u)3-vK!wd z5J5naK$*ZkDsl_jTOqgBe6jQ~ih0A{VVMh4%9Fq(k2_LIBW~hwq2xvn z8Yq(dD|C9j_`ZxTu9gK3%N=vl@&aI9d55R)|7QO&R!)n9F&0cczIrR8N7;S17`m}| ziFys0DxRxbD`|r12Q$dkz+iZ5!*=u4>*1S&Zwfu_slss)i z@gP-43vz4YFP}5J&6;tUNs|deYM^p&J|R!6*G!*TRO_k#E|L}BYaX~xH2y91OxIXM zbTTtWp@J>Jeg><4wYvXE{ac`fKGD9v>)m)432)1%GAZ4RcRzn$-wm~~JG~vv&=V-Y zo=UpfX($~1n3;a=TqB`7dfu^!Hc$W~5JsRL{}6EUV}J@WPuZK&217tz}F7tbI;;ibw zu-{N8G<_AMWT~JAqm%_x-ekgjE?vfrHRi9>eHN6fCgM3d+Qmw~#J-pKzZ!y?eDB1r za=It~1EuZ2#@E94X7pHrk+P69>g`}MVEN2$^KUp z?oCaJV+87}a91hf$1-c0E$L$w_DbT>8}z|)V}s&>v^ej)Pk@$P+p>Qzl%V0@xb4Y{6TliOX}Cb03Eg+)q3gXC|TNFn>V z0$9RDg20|FIWf_9@jxy1JxW|$oPoLd2gP%Rkyu-}cB7|gdb0GB-i?zXOUveu|COHm zA_@GvAKj8DOp;}{s26ZmP08&)r2lhSf_Xq8hPzft)D9nb^vYrQIU}3=1vL18^4Irs zsGMe+1w7-?gRPJBG44y8(YY*L89nO*KC35n$ZzI7n9dJT#RBJ-)VkhvA9SjgMjw5g z15B*trkBNa^GeB*Ypf>YvYyC_sl#yuE184&-V? z{nd6!N(3XgY~7Vo3Ah<2eV)0r9$O^t6%EZ_{+i)ljO@Wm?~y8f>mSoGeON8tisLWT z29K%#c!oXamv^Y@ROa%aeDq?!jnPu7xqI5S*Iur(n!dnn>6(QG(104Nb}A9?H)*pC z9ro>3V$POcPh7GN1{>3Z3eHdYJeRYan(#5adf~TkmsLG7W+2H`h^A=K*e1X!q zXi}4-N)?vhvN3A`_Y$QN$j4xS4`%)j){DOY?TDRsyWj}La?r(9Vf^fS^_@d3Vo>oE zl>xmu>N_A8G-w2%J&!rw|586e#j&=6EBe*h4naBYq|d<4zchTXC-tRXovm~|S|L${ zysr@Uxql1vjK__JPZ1;IpCxy5Q)~VdoXW@!Rj54_=X65{?CIVsl>;8H~?|K0+W&7?0- zK9)d#iF5;Uum4#GNPmsuBT`Aw>hQIZ;hdf(3jZ6zO((%%(L_yK4L{mXI@z`d>VlQ4 z%?`xWVPWlg;bC^W;~M1m7x3g@pkL$He7^IB>vCUE-ws>g;)=7{6(jATR?qPC4?Q37 zR#gltNuz+@f>bMNm<=j*8wqmck~Sh6UCgT>ozwu}83RhpSoScolc?#4_OS|*decS% z@r;0my+kJDu`hW%Oow;$1dRhZE_`)s!tc#dfKQac;obX?u7UQp)7nh0z0hcfIOkT<7k*YSpqQAMnr&TyrQI#AlA zQU=sGVnFnYS|uX6K)AaW9^UM51`rL14LjXaD9MKxr9=law-hwXi~byh4qVw(9_B)d zp@Ps8Z)L1po|%&a1q-KX}a#sxkDcu6dfz6g@O0=B%0zQi9H z5a>t*Dmsq~)^lI|0-;0?J@5%N82a$;ys5ye_@Lu+Omc2%4Hr9QW45`EnKcWU&u zx(JoYvGaZ@19E!tL}68BPD9S9@cOX1S_Zmw!i4$=lw^~A2lkzI!8bc*-G&8)_08k$ zTmyV!7S|s*&zayLq$uLZBsBnyK$0iA+`A3}S5T%9yW_#^Mdqn}vhH~O>7ixwp{kqa zBAehi99qyyux|O}+FA9ihO+YWc=zZ#86(8ivD!%@6AlU5>DEBRFg8ysT?E&wwGD8E z(E3FXPxBCg@31NP@TohgT{07{{-67L-s7C8($V!zvt))=Rax1jk_3Za14#A<8Pi;K71Ja0u@17Tn$49ln)k@8|vA zI#uWYIaE_r^Hhl*oj`{|0KAFjET-XXZD(d-WMHiU#lgwOz{$)?^Yl#h|G1_J#lp;wNT*Ld@&dtKs*v?JG!r9scO3}r{#f0>Wfvtg=iKCW{Oa~8X|%~}WH{!PG-jLiGIo|-9L{q)8p{C5k&+7KBF2e%}s4`5+o;iXHT z)%kQ2BXda$&lhj^k37|^PNz#;w|hi9P%C9+whUt4UOWwrO#<6ndpaOLK1?yie_poH z5mUe8V{!unKWFEVsZ&x=P|i2iH)35gDqbj}%9pDX9uY}HF)i;%{ZEt7ft8hx+4=dr z;_B*fBTLIcSI;(d=w}PBx%qjnAqGe`^*^t7q3P-A0RcHid~q$y2A*wx-vueW)zyT8FRPqCu1V%6FY4|^hT1d*#Z9@Dlrdss zV|~oD^8Wq!LEZN@s3E-XN2`z4wzl4RdQvfScK@t^k#$X6{gjC(9_rq7Z+9utds7@7 zdTu4&NM*R09g~=$1OBA?@2zaxw)2nqJHbhOPCg>+K^qwKf5L4uyRdsnNpQJ#+YGNN zPalEX2@PZSf5XGc$=x+H2}j9O>Z1Nn^Y~Z%2*0g%6iUty;jjT3#IR4x47d7Aea2N@ z?P#GU?@QwdIbb6}C!_s{zAWsB|9vX2G#6}wRl`|GLz(KxpyJY4lY5Of!2&q^PEwvIIoMqU$S5}}cwEk~X7np9zhC#MjM~!Tvh|qD@{@=J*-SZPDk;UBo z{5&EoF=@2);Se3PV1AZjK&icPQxaoJ^!jZX{`QYBPuNk*{y zBrmSyh)sO36>6wQnO2`17Ox_M9BRYYWRg%ab@kEMICo{LhZd6k6jxbSCy@uivVW~G zz-9Kr<#siXZvT@9@}R|}p`ocy#d94~K-ybH#p&t-;o+rNdA7B-Ocb~==H};bEZtxF z4zd6J6r3H9nHg1Xf!R`}6DK$K#(qJjV0p%}!(Bf}R9t-9^AkpIWCyD}-#72aTXOoN zt5O2eo#}EyCpE{PzvIX$v2S|=_%rr2r;sC;(?Gh(6dt@?=SM~UZ% zBTuy1=?7+T2ffE(*swJ@N}e#EDM4rs$Lu&@x2hJa;#*oi@9>-i5n=`^7j)XMt!1@c zYhj5g+Ty@@dd~51lCrWky?F4YrKj6H@O*|u%QN%d4lD0Xv=H1JEr;CQy%pfMlWq#tnI-VpD7)uXvZ+miW0-<4N@R-t}@9w`LN{>lg zk7_d{tl(pKuZXu_cw{L2g-YTmqQCpw9Fj83$YTW*nNmXqcaWf;}wR+Z)2Jj&sTEm#a0*|*OShwZ90WKX^P+0D@Z(U zC&FIBZ{EPj{ZcKKOim*%PEN+1pB);) z5E2qXSCx{Hsg{Fm4<;mB&21T9qVGM)P17bQ78#0R-d>A2N;|g3CZ8-fZrp`o6zZ2V zygXPT8*XltEH=6v`&&*IZ*&H|=X7V8vh=%qxce#GgGjBNkM#5eAtz^rk&+s4eC~l@ zi70%vm@n6=`GtPs=H@2iEF0nS-O1HacwZ?`Axqdjo(3a=OfQ3FJ-?tpJCeJ$$fM@h z9|1?5OhbEn`-<9$fdK?8I<**%3;geK%EknfuwLHYCcVTvNFY z?n28!EDtf&t%uHXd&HTtRUSu?5u4LuB zG9Q1(8=;ujBX7kSl{a!J{G7?j-_9c5ve~=&dH#Tz5zFmZL^j{ELY+lg`;$jspSQ3s zjgA)k6$J~AopgVnroUeWMpQBW6&B{n9)Z1*)np@9t?eSiYSy~LYlWvV`Y(l6-i66C@(Lsn3RMd z@5h^=-8A?DKHhh9uNpyXYhTki9sXGQU7fDte8Fdr@0Wb`xK^k%6brlR?&%ro=J#1L zXI8SDF8PK(U7V$xI%7C@)+nW*K-%bXNVYf#3zy^FRO{GEE)g}z`{%cmQ3TO*4DJVB zxX7Z>bZ#;Z4ml-gbK|R{31n}NYtj97K?|d6%jsMqi~W7`iRKh*M)g|4A8fXv?d^gk z+HLDm(eK0*Pkat$iUUHZ`ql%3YbQP+vby!Fgl+Zf~lRPwlA^ z(aGoOzR}yMOKdO29WzoQug^&Rz`aCY zT;$i&(>uGq2IVdE^oSwh=R11eKFfMNAG;}~GMik8(!AYr^?1Y+VzPI(j~QE9(%C+J zxIUD=^XkZ^NIoBNOMZP6PT@@Du%XAW&6pD+;~4qD5qs7&!5}Vg?zi={Qnu`QcG;|d z{yeOyQF(#NjAl-c2CO*de)FT@j7##?ALqzqIoVr3kT}1U>$PAz?L0-;wY@?wx}9K( z6q+mAfjvEq_F{zoWM=v@!>qnCz26n*ne zzqu6={oC9BfcHA!K0+P`%=AO)b=wTcTVHNG;}PN8?;MOi;`>nb_xHD-@OhrSgphPi z4q=Q5JhD-K!KI2S7EpT*YPj?fOZ&q1bfeyZZnSc zh+Mc2v<*kd(yY|7^ z%j1XF>d@rmg|L=n<9w!XY45$SZj+zvzA z(4*JR=iqbaP1;Ac0!4?y;d^oihFRzd#DIecY0>Sd9ftfwq6ZNR&G89bYlF1d)Y!0b zWl?>bfdR3>^p|GkdzH;$;dP>q@UnVn`fimLNBIR`yUlEEZ!3931lyBBO-&Jx&$aUl z7AniD+h+dA_r&pXeLEUn0UHb#Cfw`sfI`(K$_Er&dKa3KUGT-Zgwt_SCMyKvF#r`Q zsj&YJAr6E?67At~ur_a&5r2$;5C)w6gV^jFr}VXTU)BxZn%u$Ul=R%es!(4fUjccB zBi@I$kyj$yvNBws)fP#4nZ9OyUyP7JU`i`C*E8zfuM%*&(&q}2?~L(1=avXw4;1LH zMXUPm&=k-J;9~ShQQa$I%~fD!N*1z@8zvIi7sa+WLYmlT_Y5#K;>` zq)fTd70utVPA*|*F_BA4>G9QPd5~zK*xQ zR9RvLaYrIz$E>m%$K*oc^(;mpzI_`X!;MBIA)&ZJ7td%Gi89`W<@&$|oR9PdzBo8$ z=d#SS!sr<2rNzb$EntSYp|D|&5ck6w8>P68PHR+DHz`HK$o}ijyEJnR>M>tW*VEu- z&zqfnhfBJX@bPiwKiD(573q1>3C-&-jxG+dHyNCGkga%3uqTetCH6?kB3@6Ze5k}C zN9mevk*5KOk1rNhyVfS8AcRV*#`?o^7d3`@t08h&HuYena7f<~iEm<_DG4DL;Vp6# zoHC`nV388^-C2%&rPFNL8(oh&wMhIb|24BrUz%cB-P5^}1kdvX^*q>^_r92zX{;wi z+_<{jZr^Kt@6HR9u3mN)CwtaeZI8?~;d^H0U9@R5zJn=hNOlCpe(2H~HnSS2=km(# zr$|O{zu&FLII~9(|Ka3t6vpS@PLCSzQXYMFCHeFNA5lKHqXP)PX*5GeBrBU^VkB}v zh6VpgCusH}Uk!U_amVY*Wp!j}4C4bVgp(NcdrRg8w33vUnoa0{m?lCZ|4VEk{QL3r zwDeNCNTxRzhjy3D6~4ZjiRVhj@zh7MiXNU1o}6wkY2eL=s}mY_teYDYc=)pH(rhS3WFxmNFMG$gH$REc;r4iF}A@L$}(@p}1z8FtNuO^Xit&uD_C zlF{b!C_5T7h(ygOHl&5&dB5mUuWNxAxuR>Y|@OG8tG^4ufiibe4DG87g`b(`7 zAVGe8SI9>4o{QnMv0qX?X-{P2$29YE3#zCl$J(PnJqa>$@FOZQH+9_mgy+j$#(v|z z=}cUMwI&`;A>C%MqSCKX{d&@1MDmYGj1u9oU2HTS{jNuIVdKgMEU{I4-lr?iRV+Bs zeba^Jp@e*{vZJXO!B;7(vPNOSD3N&L0`-y#Q1{8`Wzs3jK7_;>-xq|gF$Ukn?Hy|4nY_qmv9!?c00FO<$w(=&BYfi^P zJQ35i0%tRF5tnO&olw9>c%cWgBs3J>*w|Q_Kt7H0n@9+Xj5Llq@#eid(&jQ5aR2v0 z4K(kKbi#T%#bivNqx?DeBRn_jqxMOcY zAWoM9wuRpoL5ZJ!$TS`$%*_$-hv-h@yHwRM&`qMy44|OrF_F=_M(w0&@wC=;t$#t_Ulw{t=_T3tfRC0lAd9IB>MfBb2 z^@Fe?=C%hDnT)1m!3y}rO~ie^+>S(QUANx6vRRvkkvdg#meb=(((CEmY-6p_1SZfs z<$E_;ZI1?11Z-0=Y?!r^{o7x^1x@2VRG==ShKy9N?dTFkF+fW;|Hj*=0dci@UWXVP zPZa0$7=1DiI7w&Qq62P$6|XBEySg-g{_fzm z%kUp&orsqUa}FP1C1L47F-LTTb16qiaovWY$*&`{stEg~Cqe1yFloL%D>^*iyXIni zKY`Hh$BaXUOFps-0-q7Dov#{>y|>hmBl?|l1Xz)xYQ+Y}0PcV|-hPjU?o=(dj)>M# zj46H{d|l*$A{P6KgVU2fEFNs&hijq3k$Fz_UaEhXr97wPzx>ZPK&SX?N@Tzht|Ibb z6R-WXewe>;ZU+O$;6)4lq3b2j)F(#b-%ow=!)AAGJ0mpz(kMq(*if4HHTizjF`r`UDp1|N#`TOgKP!*nlG%0cR@vK>c|Q}$N#>zPbkN3{W!VJ$jB#&Q}9d= z$!_0^n~UP^1jdG$REk<#N#w?KUu0_@elYK^=vN{q{r9^r^vUI6x{crH=&;7b+J+3v zUN-TRFru^3qwqKdc0pWHbi2%%UyT=|kmly|U|jK^|NX-FSF-zNgk|f%`RC3ssK3esb`seng4e&{$qN0Gr^>0q}XL8bEXIRtN#KdH=ude{Nxfuf0-4B_;cPrH@L= z%B73P$H$7Z*IfNaFnZ^D5RHr|BXD?B3DQp}61;&>kH~1bxirKLh%tPGb)f*xPsZcq$TUsS0wr zXCd~zuu#;qNqCSW;>mU@h%!v3*Q~;9d*UE*BRDxZ*&A>Dv`}LMBOu^g-_Qtw?yMb$ zny+xcz-H8h(5aWLtqvPS%LWvLz>TI0M4y_Cc4l>jlrBOrY5XM$_#!r1TkGx5$@uT~ zFw*!uXFM{2Ga%qG7&$1U3GPL!8g|v|(fgae{{El5@fs_$J1oX1m&4DPq0oOSgkS)I z_#PS>8n`vTfR+GUHAO|mzqx*iP7Q66V(CBA?dc0FJUPkqFEyb!%1AMqJRCl%jt(L7 zrNS&~2hZE%u4P!P!}VL_ENlEMfii=22ovIU2)-+=IV47 z=lS7g)agjANa-E3x?zRO;!WH3!awWkW#1fG5~a|Y!*1p+ISDQbDk`c}%Y3yN>P*R^ zUqpm6fS+)_q_T-mWQ+C4WF*Jg4nBVu_r#oa%dy0elze-itCUywhno7G3ZM0I1n4a-3b9b)Rqcoj;>i_n=8i z%Eo*7<}Xi`Du=AYH$NR%NlHtjmwOH+eiCKgIW3t4n>~1Df34EXlG&9rU-%vN^s;=* z>TqRlo0kl^j< zMvxLXTr8-gK2XtG^*)6;y!C=$#cd|itD+;EBitQbGJX_`JoA{N#AjP>auKP_UV(ql z6A6%xp8QYRB^G)N45PsGxjbw-cN7lpq-q+d?xhU!G53W?ygbphLu=aa)b;H2U-7wUE66T6T_6h4}zFz0U8q z6D6es{W0FlOG{@<)$%frNesGC6_W)Ht1Y)b?N(PfU5_|>za%H0a&CAZE#$ERi8wq@ z91%mBKs00P1HNWTilc6X<8RA(;j-=Fd8fO}^0o@E9%-OYpth$6g2YeyQFC*g#j%xc zr~F=eW%Pq@;kwE>k?E*DQc$e+O8&Fm-`hF%A)|SE#!+X%s-)e=-L~HBO*Y}=%cXpj zW=RmBt^f8dZ{nA#%-wRuv||(h{?GcfO<=j{Chh(&vkh zq+G^LF;*m}!NU9Qbrd+n;0OtQGgoM9ee$_E;wsUtLpeV`pE)jhr%`jj_}g|GaU_); zE1<|WeZkPLLd_rI64x8K#gplC6EqFwaC;^gf^w|TqQ&0ul2UCN22Cce9KMsx?T-FS zy_|A(I1_+kQuvF15zwoiuX4OkMzQO$RyJ=nYEtF}3g3qElQ2i6z-&$Z$t8di#VmRLpaANDro zDGu8Czg`)Cef2SHx2Hez(rt1EZ3{dZf?JJ7dwSlbbGx>0g<)*@5c7Mz6?kIOCevuP z8{@rx>+kQMO9C!!_GMeLoGFZ&UG{h zcy9Kouwq&V(+RPA>E$Yw+0?@-wocfuaw%*=5vXN_zYV%5KT=T*yr?vL-t0x~CDVaV z15oYPH{Nyk^vM{1yZ*=~sL>=86i3IPh~VOEESk&Z^WaWQt6mm3m_Q5p)8w#esyRW; zcraD=NgR5<#SB$gK4=?)GH(A>#cy`ZyI8$E%DwHyRmQv9BUuWAD)d}P%ya$%%h3jl zRwd>E0bdrtpnX<$%`P&11qSx7-nWo*Aqt<4PBBj3^*8=+U?#HNS$|tBBd&u$;PsxQ z%Mz1yw;K{pQbinmA~6VfV0U{kDUN!gsDjCQsTm=i$2I;c7ZGdF=r*I}f`^<^NXB(dW+lHf-HYR5s!rG%PYMRNMec!B`qL zjO}VGjJqD)DI7V0QC~!2D<60dO%KTC2>BgF|LowZzDGg9h6xZ~=m}pxV_dhRFn1}0w0p_RYXT>~6iZJo| z#`>R1d5~=I*sJ$9!W`%QKaNLMrH$LCr)JOTgEUy%Y2#KIY2U5cW$O{AN`+572fjmJ z@Ps$xts7kBTFNXmVITT6iqRmx0M7A=3iUK zx^Dq(4m&8F<|{qt7{X$`QJ-9dhkY*f+EW%tA}_6v*X@LNrhGM292s9Lo8yc9*|>pb zsNZ6P^Xa_PuBd@oqiVS6m+g8$SNl#qRitcCHTCH+J~kb|Tv;z_P=0dx>Me&Mh z1_mT+m=jap%#_R9Md13h(Gz{?I>?C@==c^8V!N;RZ#?NX2bFd4BdLJ1+yjO-`D#Xa zK6j#HiZthDeSDpq)BE8!E~)Lw3AJ`@$<|S(fG=RYQ2qX!m^Ma*+al03GJOQB!oJy-KU3A!#^qT5X;hS4p+;8rlN^lS#II%~v`+Kx z6jrlb)D+=fOqzU|0Z%=-%-BaKW?n*eOBIQhMwhdIIPzaAMf9sCSHZ#GewSP0DIUzb z0h0}FGbmWXSS4Q6^o}1DKRW_kxzdB3ANtJemQli=pnvu4G|v5KLPDWN8Viq6-|HT0 z#%|7>-Py=6yVC4b@3+mQRyM;VaRwQPd#1zQeOW`MF%3F00XW;k6dTRY(Tf_m3VTET z6O#`vTlt;k*@&Fr1skUt>eAj}P)5YX<7)#s{MyzYb(^w5M0FUifn z&w3=hV18&xMSW9Pe8GPElRa88~i-b zA6%J6kIb1*vAvWT3~A|_=1xzmXv0lkzh<^MZ0`ujPNOQwC1sMt4Mi<8htV?q7fC_o`6RGDfN*_H{6ARjncwzzVnT9zNs$Vb&=Vv?S<|>D;yj% zbv>>h^klnQiB6EC$zZn3>?nGr!LwA$!}WNpE|1sKzS&%>cgQs%n^N+hzS?ItH)0e* z&cf5ze^RZ6RAe+-$JkiK`9CIwem`DE2WuF~QF{4RNUL=Vx9!Rd;}d_-Le^@5H2J5m zui|I}8OEeB*t(3gXFB3ene1mECNIH6U}P!>Idk+CQGhob%3zIxMY(c8BK1!$yaxEV)GY*RNUxk!Uxl%89^EK{;FJc}skCGOdg_ZEqIw<1bIH9c{N-8uu$;+EIQpFK(UQ$*vKB4Sj zx|r@76e#{qosC5;huin$%`cU*i0qY>Dx}jW-KN|VKk3aZk&vx)(gZs7;DRKao1=L; z>GK-ic^$p$zD%FQ=`=8rNC;A}I*74IXzjMX5kuWN`^}f0w09@H=(S!FVX?O2+wQ}A zig#AmmWnTUL|>uZT2DnZ_^;THu_{e zF&N|17jLzmwATwxUaF+QZP$E;pkO`Sm84jj*2y4gfk@oe+dvSWURNmSc7R_tb2A*u z!mnc0Hke!@da%jRFgwRYN_WQNtcAWWI#sz4d`!es8#%Re05fcLzteQOtxMYYknqo*+13qZ&^X@NBLg@~u+D#0S3CiFjJV}5_j|RnucF)W z#QSGw@b^)QB`dWyR_9yF?z!JUBz9#u29;Ow191u^8j8jK9u$;23$w8)G<{otTD%{w z{L7pF=WDTC4rdZ6^qZVds88Pk-nWmD z;fwbTpV-iL7&ZKWoHh=toj8L<%2FCETbmj@a4Rs34ilK^Af+R2jC=fbDuhNckR8j* zHz+exAT4dUhAnWY*Reqp`{yKh15uHe|F*!O$1SO1wcNxnrh0dD@R5x+o{`b}i-=JV zL;w&uRI{?j+;YzHLf8^<2YxCV3c~E9+O_p+IC#_{3r_Ig_YZ2C7bwMF(kHRNZ^hN4mG*1p((eu4}UlNY>vcO}9EE53k0psEL)93tYAlkaNXR(B^&DRV7ujKFiInym*kkFd9ur}9pD zzeGa1e;PnAt%%J(+6!d3-5imKakXKqjLRg@(iDHKOb1}Snde0Ix%gGBjaCW{a)s#c zdX(&%`>o}#PV}{9N}`YaEfZmUoYgV3`cXcSNQ0Z1X2F>g)Y^F!y85i<(FU^6Xfj zR{L|yz=$EtNsX+IUeyXfY%g;87yH$P>84yHAgbhKE6Hp}1+}Y4;+6In{bsJ|?^+h| zi4Kp(5aWGhK2lt&tH&ipw+W5JkoV9#-6Excd6P?;ipUUcQk=_Dt`AA6CLMaHn%NT1 zsv4}*XZ7FM-==Xvj27Vj64mFNy{qqqms)2%FwHM+Re$vQ9{zP79aRY9Zg?Z%r`?|&!sG#VnP%q# zQ#nEVI3r~hOyZXZneM82DAkTTmO@z2DMZ<~j@|11&|Z`V!C zV;bMA94I!8%FCvul=;tfKvf`6s(2Y;!V1;%_1MP4asWJIz|uS4)i0jrDf>58{_H0% zXp5eYqgtW?n*OEw4MsmPDS?8{&Oz$yKV(`=u`Kd`Q(JX?_J2Vd0M4vgof?^jUxYlra`VBQ;IAgl>4QpFSFOJBA;mi7DfX*J6~m+yMnITZEGh3 zzyW+$exw|QBOxKNgnZV@&BZ;)zU_9Jo|bm8Y)cq07Icm@$N&C`xXrhqH`<}qN_TZR z@ZRIt?%rcQIx5O7gtuAwY`(wT_r>D&F%$MN>3PhIqu^+J?vZEb8xO+b<{6_E#yu53 z`RtF7_@g;boJ)7mySG$!|JX#0AD4Q1@PO>0zhAPi4TM<#H=Y6fVWAL+u$Px`nK!L! zNhq+=H@gSoB;{WpA36ZI5CDfPm^7NMkShrSFl@(42Qk3a;89S-0ZX6#$=`S?0u7$q}7Fr#{BYbHEP@NbCd_e%l5CX>b;> zqJCQ~!dAeHrt?HsnGCIcTfZFwzekOZIrpMVHp$8%?8C0D(Vk@p4G)*Fwx&OEy(6r# zoJW@%m8*BAxyWym*PN?YBnQ+Ww0G3ljvWqL`}+ndsa3DZvNvuj*wG}Pu|Y{>Xc!oA zR;d6j^|;w%n8hIm#mc1Q4(EC~Rk-!LM5_F1SjLsHuyC*I;0(4&ZLkv>G`PIx>|9>v zTXZKRB;0Ov_dYq+v#Ip!!RtH>M+C z{Fm7K?%tkk!yrg#XsDovcyL4$I>i%+m{@Pk``m4!%tl+~mkOvaI)%P_1W#!<GOKd-By5g% z2mZfwn-bxt8Qapnv6_wjkY8K#qsjy$!J!a#+g;+2(jA@>O}Rk;be1LZ=*kH`Lu1fG z8dKJ^S}h|=EY}Fz+S;;SoRi3th9y0^N?B};0;Gp^fNS5=HmNukhCbJLAOi;3zZBe_ zf&*KBs$*pJVvsZo7NlRYx>K{W?JX?IUUam;{ZVa{48_)T zl76QXV{2gj9OqEw^IuFd=Wc;o=?`2MbF^CPdB~*M=#~<_xyHCq zyP47MsIEJ0IG=}eoD*Q>L>CM97|N9s^IWVYqSpO|2{=Gd4a>R>0r(^-Bh!@kIN7GJ z4>;B~fRHE2!CDX|LfTzp&I0h#?j%NyAncs2lg~)S@6xE16yhqpD>YYcuvw}HrMaGV z0D-mL!{arOpRs5^KXmZTe!-R-j^f^NY)o=!$uRxVavf@>@A)(l z&*#j@WlvXfwkwq~85&-M{*>>OHxWu9F<6=^}Qn@A2u0;yp8pEou*Ks)r-UI4_$dHB}%ft|E|Si{-@w& z9u-Ui5sPgu{--?*MN^vBJ6?Q&)X#Puf41pF6H)h8arpW9tL$!C58)Wg$?mo$$Ivty z+45yGsK*Q~rD>0dWJ6ofLwbf14VD|P8_EV2o8Vz@P8r9h03XoW!G?byiRarmN_nh# zg&c8qcc0snWpz?SGlMSv+nXEgd!fD$767b`C^8vRUz(|;SuK#u2;9{JBm6ZO7XXhk zne!(nw&S2R{@9cRAaGUqzJBAOB?rDfaI#>G^h)K#>{@Fad~-<`C6mPPfue_g%;F9} zt+;>9fy><$p23EXH|fc3U!h+TVBx9cJ?IyITSRJB@Amus(krFassiGte^2wS7xK9A;^DHt|)xFTT|on>|wr8&%E+_mZRM&-t|3`#e!_b!;E`0 zgD+{eC)*@^2c8crn8b7>5g`JRtGn;3Z2*u+$i9nb=nng-UQP@U@G;(&Mj*mZ>~DWS zCMfr$_xQoVt*NstQxJ@#1E(~pLUp&TMUSplY z(q9pl_9qo!rmXR2w{cRH!uO7Iv0e6S_jfv#b`*IbMYbGSc1AppJ(3-RjMu<@n4)vJ zUsX~8-ZsvoBiTFe4zk0K!<*bY=iWEaV{s`KYGoIV{NxXPZ8Ri!d4pE^eOCR^1nxJP zJ{t}Z_&mf22s?Y~Il;)H%=a7NxJfb zK0V=^>2<4u^NuFx!_{M5tE>7CFEyW6gsrU!Ay}Uvo~J~Rx)m>?^5zHb+EXTpk45#T z0`^d=-U5>zM?C9qv)&{oC;OrDKh5EfWJTmT%5M6DhU->*B+^)>i`9C_qh+zS-2rtk zTczkbJUo2=WES9~b};e9yzOCZdkRJ-;OI2Aiw51IcEyKb*z<0I83G_t-vN{E9pLAv zFdNe|HZe8a63Hn+LGp~_V>y0ph#ChR&4bMnIa3P5G^?DHwmA6R%K3ah+%OZfi~M$F z#dD~YEqHf1U_U+de;Q0C*d9))#$`9v$%wr?OpmL2>WC#j18PUK`(CbLmt52_Qyfa$70Smc974v6f5vayiz9W|yL3!)JeGS!+A3^p>k-?JA%7 z_i~oECm=~mL!YHYwp(z-<+HxjQ!GJ|`hdQ>56^h}1cO$``s#_Y!ldyvM{6hvA`+(x_D6`YEM9 ziCz~1B>w~L`9gxxtjel$Hxx2SQdfOwWL{9;pgaA%}I$BhalfUGB|j)nX>+v#)FxOOm5QtzLjTvOBd$Qv6tp-6Xr#dyV=nXU0OE z9hJZPJp^l}sp}CK0=Qh0T%(EX9(ZcSH>KKj=%)@z4Cyh+F`?1?_bR<~Ibtq{Qyuq! z0C{NFrrmN_R#s*{^BZBI#)^)Z!(*k+b~OrckaeuCqUOmYV2l0rW)5;S2%MUUdvMQ` zt&-mQd3P6n;Ol5()QKMnJ(#USMMuY|FbvY1H@hl z+g`Lj89@*`>@I!BT-$&!DtH1lGTx#0u>w4x1oCTMW&fq#^-~CDeP_eJ=5R*FIa1HG zHhN`grNwiw?eT`F-Cr!+5y9hT7f@PDjRGMA`r11}Kvl1jr<9XC^=55@|?Jao;@sxPp(|9Lz7>Yb%S-ZBhG+vsM} za&vCSi!~iTzrk$dnvG@jlyC`1=OzL5cVQDKv?40qoWUb~kwJBC6TIZ;&D?r+kF_>i zK6XpLr5;i;YJRZ)%FzP~cewJ?w(n^+3nP?fP>4ANx2Bclc`3)pvBp}xJ!B53PI)pH zQvjgS@TcsH6`R$J%7fAQcaym)mtt_>P&^I!g&(Mlc)2mmdcN9@1e;#tqY?e>wP_e! zTve{twIw_cR`9&Qi}9DFHP$(xUdBPPQXq+5J9xS2cE_@bSq`WYf&djr(vLnFkKx03 zpMHGC>9V{2!M-tI79Voqz1|tbiRG%b69OlW)F&@6QX{@>v(6U@X{2vcw$07Wm(<36 zW>5QgyjUv+m>#-Gvj_oKrd7sm$c6pc&u@ilHIRO)!LRuwj{3C;7f}}ha#8xesf=Td z&~=lb*(`5uyxr6~+pd~5{z?Z2^spV&ZGlV!{(?X!%1K^x4M!gGhUVMlMpx`Uq({hY z(pba9%hQ_o$!uLYZ{JZW77*W^EH~u|aQbjY-7P6mD(We7Y(?;V;^x7~tg7hhn2P7~O7wagZ9$BZgM&+o3W1x*Hn>_gp}&0mvWt)O_<6!v(ws|5MIt^UnGbxTkJBQMIQgyfbCmfz=?;-YFzK?SJ`#JUiUyhuJ>h{hJRJQ5x8r&pJ>|H+?e=np`81X zikyjB;UQw|!{hhZl{9YH$6qEx*!B*t*hcmp**#SwU0oRDCvEaOZiAH#ZBLZ3Ha?j} zfm1d-uI7wR@7k)pAER`*(RWK8PYEcU*8F^)Mb(}GsxVh$m2_p0FqlB0C0|ei)Qj>= zmFm790g{hb;4obZ7^jY=+X!w}3#oWlJM@ax8$vOE{qq;g!? zqsdhOG9Ko;rTLzx6zBvl6rGi~v_^mB-40nsW5AIw%9Ul7N%T724>#WEB6F{oH;83I zs+@&@!1ZAzCqz6d9)YExXVA(1&)9H(dt&M0R%3?Gfx~?gVqcdsWtK$r$y^N(@Eetf zvKZ>{kU%VysfGfjQ3d!oRH};Lw?vyWTq*ZiX${y2sgr|OKg(XA&!ZsbxD~Vo0n2u? zvnRYzy}V4e^N9fton)mu@NM$Zm+yZti9rnRCl(wt3|3BsQ@QzhVfKxq z5yME#NSy1H%TEoC6tF;TkwiLo&Gx$IP7#$!W?J>fkRGkp>k90HEUEl^z&mDfMG$rg!-7qvQ*OYLueHKDuoKf0EmivIiouX$r1_v zx)u7Emsym|&*DP6P-9_r9aF`hS6Ek%CEHl>My*;$^C< z$XRPo_wT=7K8%ZyoA{fMOvV@-z)TjQ5OYVUeM*%9ug+6i8Vct0D?IqW2{5kune^jL z{I2CnGmUf-1H~eq79eh0jM8Z6u;xj8A%_d&Wro|!}n#yF6IF(`yaTJ@J& zrFFHaimWTOX4OZae2W25L#|$awoLbIRNHRQN2P4ujFJDfgt}X{Zi|EVmrA~SWv+K+z#)3J4F227}9lY1?sbf6{R*!+S?c3a_H>b67$8ro+=5bGEa+V@{WO z|JpZq?1;&;lgXxns}GZ*draVibBXO21)p);-P}GE9FZBNtm*_3u!!UTcmb^8umosX zu;^6L-1{nTfJ$FQAcF_0fza~O;~3YyZ5M0V0Wpo-_wr>Ntsr2}G;7!pS^1WD*`9?> zHh$ME(;e|Y<~H9^MHTQoant}#hA%cyIv96T0ULIlcj-ThNsA&L7_#WTjLOF;{E#rF zbz7DWGRGU66*j7`K*IRTPZ3L14nR9GGA_QIixNHu(WJ)f6(v)mJl*Ny

-=_)8C#FJ@xwu1f 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±G+xV^v`|+*L$2JPo=FlUjg4FTMNHelu-(O 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 literal 0 HcmV?d00001 diff --git a/demo/voice_mixer.png b/demo/voice_mixer.png index 6b40823bf8afc39fec288250d9585eddbce55be2..3949ae37e543e850c32b99e6e8574348d8c71a87 100644 GIT binary patch literal 70372 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

  • qqOFAHiU z++}V)_+^%*$}ef7y$(l9IJ zw)jI`(TmRO9+&*m`dh7iY4Sc`e_l4=vgS3PWgC7+-(b31Ezn<YN~ojrH|Mo+1sW01sD z$xB+7c#Cq$4Hs+B#^F&y_SjnUiw>uTboLf1d#j97?2 zQwj|_fA7kzpnrZ%9aFxiq#{H}N$S1omVIG6U(GRyBx#sunlubi>KUaO3wpJ%uwcKt z(%;qFYh-JiJLys@eGZ_QhUSw#2$U!zD?2#H#kgaZ7 z_A>bV`SW7d9SqFZuB~jNg=@7>7(zpH#qD_CU0g!qj8&gJDK&~yzHn!`FYGx>Y`#_C z!D6z6bFxv1X^svAr+@qE-zPr^8afz;2j+nBBdasbA$|lD>HVUMI+Y(9+xX`975VL7 z+(^nHzGUa$hp#=jckhpuJjm@$ljWoH8&Zv8FK~jRjHqNRwM0GcZqk3A z7nAne&8KW}QFY;shlRZ`ML2_cvY10GK*Y0H#*^_MD~ftQSMNT5n76t((_Fh7!ljVG9fplD7ef3ke1F$9QBx>!Ay(4^u>c=o20j0i z1~V&O9n4FPIOX6=HGhByUigyQE<*!@g{f+%L=!AJ{A%8AG|Vc8gmvBFofS$nzj@Q+ zx7r_3bBf3TWqq5xe$pSF}JLM(K)AqD{Z+}$d^o|P_J+3(|2v=e7 zUR4Cy790~Q#9r44$m1y=6r>=v2>X+N5Blo0H|jrCXql8V zseZFLyKw@qIUa(-Tfz~$mm*k%M-rQkZ7Pjp4Xmu-x>+i#e=?M84TUk5{w3FiE#F?x zYXgS%TCc_=x8GLz!pdAh@oMBcp-n9wdXNb1#|;-%Lyq?H;lo8BycK29s(XxMv6-H0 zh-y~N?^w|Y5P1kKGFnZ+9_O0GUw7xjSyIJU<>hfxreZQ?B+Hnr!LYE^dZ<07^DaW1 z_Tf>S(3Cf}q(I*q zD@_>&Sq&!$nsv{8llIyCfy3i_UaRZb*yQADrCirb*dWoKP+Z_P+d|iqBB{egUQx|z zTk zmv*Klw0rGT8CQt6ltP8rVcms*Bt{Y^LddxX+bIb%lC-ndi9;ueE$(@w8! zwRLBdW$Pv_p)xz0CwuZRu=~|!aNq0ojM_#W{PI}_Dil|cHx~#$VPnv*?l+Jhv0l8f z`SdR5S?W~CkB`pDj}fB+2iy&?()DJ8qId7Xt)nE^9R|A|WepE~E2tK>7=lH6<5-}L z_gq1V4V2E>`|r|A5uVF?tdvH7lFJl?G!?68f?7&;+MV?5TU{Hgl=0syR@e&H+0_^+ z`TLyn%R?^8W>_=wM2T7Lx3IhiZ}W}xKTnr4k(~01OAkC;{kq-B1vR %7Wbo}Xy5 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 Date: Fri, 11 Jul 2025 03:31:47 +0300 Subject: [PATCH 12/16] Added chapter options countdown and new option "Configure max lines in log window", improvements in code --- CHANGELOG.md | 1 + README.md | 1 + abogen/constants.py | 3 + abogen/conversion.py | 11 ++-- abogen/gui.py | 133 ++++++++++++++++++++++++++++++++++--------- 5 files changed, 117 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35c28e5..7ffc7f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ - Added a feature that allows selecting multiple items in book handler (in right click menu) by @jborza in #31, that fixes #28 - Added dark theme support, allowing users to switch between light and dark themes in the settings. - Added auto-accept system to the chapter options dialog in conversion process, allowing the dialog to auto-accept after a certain time if no action is taken. +- Added new option: `Configure max lines in log window` that allows configuring the maximum number of lines to display in the log window. - Improvements in documentation and code. # v1.0.9 diff --git a/README.md b/README.md index 41867df..95cf045 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,7 @@ Here’s Abogen in action: in this demo, it processes ∼3,000 characters of tex |---------|-------------| | **Theme** | Change the application's theme using `System`, `Light`, or `Dark` options. | | **Configure max words per subtitle** | Configures the maximum number of words per subtitle entry. | +| **Configure max lines in log window** | Configures the maximum number of lines to display in the log window. | | **Separate chapters audio format** | Configures the audio format for separate chapters as `wav`, `flac`, `mp3`, or `opus`. | | **Create desktop shortcut** | Creates a shortcut on your desktop for easy access. | | **Open config.json directory** | Opens the directory where the configuration file is stored. | diff --git a/abogen/constants.py b/abogen/constants.py index e20140f..a403302 100644 --- a/abogen/constants.py +++ b/abogen/constants.py @@ -8,6 +8,9 @@ PROGRAM_DESCRIPTION = ( GITHUB_URL = "https://github.com/denizsafak/abogen" VERSION = get_version() +# Settings +CHAPTER_OPTIONS_COUNTDOWN = 30 # Countdown seconds for chapter options + # Language description mapping LANGUAGE_DESCRIPTIONS = { "a": "American English", diff --git a/abogen/conversion.py b/abogen/conversion.py index 1cbe1bc..da25dcf 100644 --- a/abogen/conversion.py +++ b/abogen/conversion.py @@ -9,15 +9,14 @@ from platformdirs import user_desktop_dir from PyQt5.QtCore import QThread, pyqtSignal, Qt, QTimer from PyQt5.QtWidgets import QCheckBox, QVBoxLayout, QDialog, QLabel, QDialogButtonBox import soundfile as sf -from utils import clean_text, create_process -from constants import PROGRAM_NAME, LANGUAGE_DESCRIPTIONS, SAMPLE_VOICE_TEXTS, COLORS -from voice_formulas import get_new_voice -import hf_tracker +from abogen.utils import clean_text, create_process +from abogen.constants import PROGRAM_NAME, LANGUAGE_DESCRIPTIONS, SAMPLE_VOICE_TEXTS, COLORS, CHAPTER_OPTIONS_COUNTDOWN +from abogen.voice_formulas import get_new_voice +import abogen.hf_tracker as hf_tracker import static_ffmpeg import threading # for efficient waiting import subprocess - def get_sample_voice_text(lang_code): return SAMPLE_VOICE_TEXTS.get(lang_code, SAMPLE_VOICE_TEXTS["a"]) @@ -73,7 +72,7 @@ class ChapterOptionsDialog(QDialog): layout.addWidget(self.merge_at_end_checkbox) # Countdown label - self.countdown_seconds = 30 + self.countdown_seconds = CHAPTER_OPTIONS_COUNTDOWN self.countdown_label = QLabel(f"Auto-accepting in {self.countdown_seconds} seconds...") self.countdown_label.setStyleSheet(f"color: {COLORS['GREEN']};") layout.addWidget(self.countdown_label) diff --git a/abogen/gui.py b/abogen/gui.py index 93209b6..b43ac07 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -261,7 +261,7 @@ class InputBox(QLabel): self.window().char_count = 0 # embed icon at native size with word-wrap for the filename self.setText( - f'
    {name}
    Size: {format_num(size_str)}
    Characters: {format_num(char_count)}' + f'
    {name}
    Size: {size_str}
    Characters: {format_num(char_count)}' ) # Set fixed width to force wrapping self.setWordWrap(True) @@ -609,6 +609,8 @@ class abogen(QWidget): self.displayed_file_path = ( None # Add new variable to track the displayed file path ) + # Max log lines + self.log_window_max_lines = self.config.get("log_window_max_lines", 5000) self.selected_chapters = set() self.last_opened_book_path = None # Track the last opened book path self.last_output_path = None @@ -658,6 +660,9 @@ class abogen(QWidget): self.queued_items = [] self.current_queue_index = 0 + # Log lines + self._log_lines = [] + self.initUI() self.speed_slider.setValue(int(self.config.get("speed", 1.00) * 100)) self.update_speed_label() @@ -1367,6 +1372,7 @@ class abogen(QWidget): self.input_box.hide() self.log_text.show() self.log_text.clear() + self._log_lines = [] QApplication.processEvents() def restore_input_box(self): @@ -1387,35 +1393,60 @@ class abogen(QWidget): self._update_log_main_thread(message) def _update_log_main_thread(self, message): - sb = self.log_text.verticalScrollBar() - prev_val = sb.value() - at_bottom = prev_val == sb.maximum() - # save current text cursor to preserve selection - old_cursor = self.log_text.textCursor() - # prepare html + # Efficient log: keep only last 10 lines in a Python list + if not hasattr(self, '_log_lines'): + self._log_lines = [] + + # Prepare the new log line as HTML if isinstance(message, tuple): text, spec = message color = "green" if spec is True else ("red" if spec is False else spec) html = self.color_text(text, color) else: html = str(message).replace("\n", "
    ") + "
    " - # move cursor to end for insertion - insert_cursor = self.log_text.textCursor() - insert_cursor.movePosition(QTextCursor.End) - self.log_text.setTextCursor(insert_cursor) - self.log_text.insertHtml(html) - # restore original cursor/selection - self.log_text.setTextCursor(old_cursor) - # restore scroll position - sb.setValue(sb.maximum() if at_bottom else prev_val) + + # Split incoming html into lines (preserving blank lines) + new_lines = html.split("
    ") + # Remove the last empty string if html ends with
    + if new_lines and new_lines[-1] == "": + new_lines = new_lines[:-1] + + # Append new lines to the buffer + self._log_lines.extend(new_lines) + # Keep only the last log_window_max_lines lines + self._log_lines = self._log_lines[-self.log_window_max_lines:] + + # Join and set as HTML + self.log_text.setHtml("
    ".join(self._log_lines)) + + # Scroll to bottom if needed + sb = self.log_text.verticalScrollBar() + sb.setValue(sb.maximum()) QApplication.processEvents() + def _get_queue_progress_format(self, value=None): + """Return the progress bar format string for queue mode.""" + if hasattr(self, 'queued_items') and self.queued_items and hasattr(self, 'current_queue_index'): + N = self.current_queue_index + 1 + M = len(self.queued_items) + percent = value if value is not None else self.progress_bar.value() + return f"{percent}% ({N}/{M})" + else: + percent = value if value is not None else self.progress_bar.value() + return f"{percent}%" + def update_progress(self, value, etr_str): # Add etr_str parameter # Ensure progress doesn't exceed 99% if value >= 100: value = 99 self.progress_bar.setValue(value) - self.progress_bar.setFormat("%p%") # Keep format as percentage only + # Show queue progress if in queue mode + if hasattr(self, 'queued_items') and self.queued_items and hasattr(self, 'current_queue_index'): + N = self.current_queue_index + 1 + M = len(self.queued_items) + self.progress_bar.setFormat(f"{value}% ({N}/{M})") + else: + self.progress_bar.setFormat(f"{value}%") self.etr_label.setText( f"Estimated time remaining: {etr_str}" ) # Update ETR label @@ -1442,7 +1473,7 @@ class abogen(QWidget): self.btn_manage_queue.setStyleSheet("") # Change main Start button to 'Start queue' if queue has items if enabled: - self.btn_start.setText("Start queue") + self.btn_start.setText(f"Start queue ({len(self.queued_items)})") try: self.btn_start.clicked.disconnect() except Exception: @@ -1537,6 +1568,11 @@ class abogen(QWidget): def start_queue(self): self.current_queue_index = 0 # Start from the first item + # Set progress bar to 0% (1/M) immediately + if self.queued_items: + self.progress_bar.setValue(0) + self.progress_bar.setFormat(f"0% (1/{len(self.queued_items)})") + self.progress_bar.show() self.start_next_queued_item() def start_next_queued_item(self): @@ -1561,7 +1597,6 @@ class abogen(QWidget): # Called after each conversion finishes self.current_queue_index += 1 if self.current_queue_index < len(self.queued_items): - self.go_back_ui() self.start_next_queued_item() else: self.current_queue_index = 0 # Reset for next time @@ -1604,7 +1639,13 @@ class abogen(QWidget): self.is_converting = True self.convert_input_box_to_log() self.progress_bar.setValue(0) - self.progress_bar.setFormat("%p%") # Reset format initially + # Show queue progress if in queue mode + if from_queue and hasattr(self, 'queued_items') and self.queued_items and hasattr(self, 'current_queue_index'): + N = self.current_queue_index + 1 + M = len(self.queued_items) + self.progress_bar.setFormat(f"0% ({N}/{M})") + else: + self.progress_bar.setFormat("%p%") # Reset format initially self.etr_label.hide() # Hide ETR label initially self.controls_widget.hide() self.queue_row_widget.hide() # Hide queue row when process starts @@ -1767,11 +1808,20 @@ class abogen(QWidget): if self.open_file_btn: self.open_file_btn.setVisible(show_open_file_button) - self.controls_widget.hide() - self.finish_widget.show() - self.log_text.moveCursor(QTextCursor.End) - self.log_text.ensureCursorVisible() - save_config(self.config) + # Only show finish_widget if queue is done --- + if self.current_queue_index + 1 >= len(self.queued_items) or not self.queued_items: + # Queue finished, show finish screen + self.controls_widget.hide() + self.finish_widget.show() + self.log_text.moveCursor(QTextCursor.End) + self.log_text.ensureCursorVisible() + save_config(self.config) + else: + # More items in queue: clear log and reload for next item + self.log_text.clear() + self._log_lines = [] + QApplication.processEvents() + # Start new queued item, if we're using a queued conversion self.queue_item_conversion_finished() @@ -1801,6 +1851,8 @@ class abogen(QWidget): self.enable_disable_queue_buttons() self.restore_input_box() self.input_box.clear_input() # Reset text and style + # Trigger the "Clear Queue" button (simulate user click) + self.btn_clear_queue.click() except Exception as e: self._show_error_message_box("Reset Error", f"Could not reset UI:\n{e}") @@ -1810,6 +1862,8 @@ class abogen(QWidget): self.queue_row_widget.show() # Show queue row on go back self.progress_bar.hide() self.restore_input_box() + self.log_text.clear() + self._log_lines = [] # Use displayed_file_path instead of selected_file for EPUBs or PDFs display_path = ( @@ -2187,6 +2241,8 @@ class abogen(QWidget): self.queue_row_widget.show() # Show queue row on cancel self.finish_widget.hide() self.restore_input_box() + self.log_text.clear() + self._log_lines = [] display_path = ( self.displayed_file_path if self.displayed_file_path @@ -2449,7 +2505,9 @@ class abogen(QWidget): max_words_action.triggered.connect(self.set_max_subtitle_words) menu.addAction(max_words_action) - + max_lines_action = QAction("Configure max lines in log window", self) + max_lines_action.triggered.connect(self.set_max_log_lines) + menu.addAction(max_lines_action) # Add separator menu.addSeparator() @@ -2947,6 +3005,29 @@ Categories=AudioVideo;Audio;Utility; self, "Error", f"An error occurred while clearing temporary files:\n{e}" ) + def set_max_log_lines(self): + """Open a dialog to set the maximum lines in the log window.""" + from PyQt5.QtWidgets import QInputDialog + + value, ok = QInputDialog.getInt( + self, + "Max Lines in Log Window", + "Enter the maximum number of lines to display in the log window:", + self.log_window_max_lines, + 10, # min value + 999999999, # max value + 1, # step + ) + if ok: + self.log_window_max_lines = value + self.config["log_window_max_lines"] = value + save_config(self.config) + QMessageBox.information( + self, + "Setting Saved", + f"Maximum lines in log window set to {value}.", + ) + def set_max_subtitle_words(self): """Open a dialog to set the maximum words per subtitle""" from PyQt5.QtWidgets import QInputDialog From ef1063018fbda57289ae37426df449d213e2c0a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deniz=20=C5=9Eafak?= Date: Fri, 11 Jul 2025 05:23:03 +0300 Subject: [PATCH 13/16] Add queue summary window, check GPU errors --- abogen/gui.py | 52 +++++++++++++++++++++++++++++++++++++++++++++++-- abogen/utils.py | 24 +++++++++++++++-------- 2 files changed, 66 insertions(+), 10 deletions(-) diff --git a/abogen/gui.py b/abogen/gui.py index b43ac07..a0ea427 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -1536,7 +1536,6 @@ class abogen(QWidget): QMessageBox.warning(self, "Duplicate Item", "This item is already in the queue.") return - print("Adding:", item_queue) self.enqueue(item_queue) # Clear input after adding to queue self.input_box.clear_input() @@ -1758,6 +1757,48 @@ class abogen(QWidget): Thread(target=gpu_and_load, daemon=True).start() + def show_queue_summary(self): + """Show a styled, resizable summary dialog after queue finishes.""" + if not self.queued_items: + return + + # Build HTML summary for better styling + summary_html = "" + for idx, item in enumerate(self.queued_items, 1): + status = "Completed" + output = getattr(item, "output_path", None) + if not output: + output = "Unknown" + summary_html += ( + f"{idx}) {os.path.basename(item.file_name)}
    " + f"Language: {item.lang_code}
    " + f"Voice: {item.voice}
    " + f"Output: {output}
    " + f"Status: {status}" + f"

    " + ) + summary_html += "" + + dialog = QDialog(self) + dialog.setWindowTitle("Queue Summary") + dialog.resize(600, 500) # Make window resizable and larger + + layout = QVBoxLayout(dialog) + text_edit = QTextEdit(dialog) + text_edit.setReadOnly(True) + text_edit.setHtml(summary_html) + layout.addWidget(text_edit) + + close_btn = QPushButton("Close", dialog) + close_btn.setFixedHeight(36) + close_btn.clicked.connect(dialog.accept) + layout.addWidget(close_btn) + + dialog.setLayout(layout) + dialog.setMinimumSize(400, 300) + dialog.setSizeGripEnabled(True) # Allow resizing + dialog.exec_() + def on_conversion_finished(self, message, output_path): prevent_sleep_end() if message == "Cancelled": @@ -1786,6 +1827,10 @@ class abogen(QWidget): self.update_log(message) if output_path: self.last_output_path = output_path + # Store output_path in the current queued item if in queue mode + if self.queued_items and self.current_queue_index < len(self.queued_items): + self.queued_items[self.current_queue_index].output_path = output_path + self.etr_label.hide() # Hide ETR label self.progress_bar.setValue(100) self.progress_bar.hide() @@ -1808,7 +1853,7 @@ class abogen(QWidget): if self.open_file_btn: self.open_file_btn.setVisible(show_open_file_button) - # Only show finish_widget if queue is done --- + # Only show finish_widget if queue is done if self.current_queue_index + 1 >= len(self.queued_items) or not self.queued_items: # Queue finished, show finish screen self.controls_widget.hide() @@ -1816,6 +1861,9 @@ class abogen(QWidget): self.log_text.moveCursor(QTextCursor.End) self.log_text.ensureCursorVisible() save_config(self.config) + # Show queue summary if more than one item + if len(self.queued_items) > 1: + self.show_queue_summary() else: # More items in queue: clear log and reload for next item self.log_text.clear() diff --git a/abogen/utils.py b/abogen/utils.py index 46f77b9..fc27734 100644 --- a/abogen/utils.py +++ b/abogen/utils.py @@ -217,14 +217,22 @@ def calculate_text_length(text): def get_gpu_acceleration(enabled): - from torch.cuda import is_available - - if not enabled: - return "CUDA GPU available but using CPU.", False - - if is_available(): - return "CUDA GPU available and enabled.", True - return "CUDA GPU is not available. Using CPU.", False + try: + import torch + from torch.cuda import is_available + if not enabled: + return "CUDA GPU available but using CPU.", False + if is_available(): + return "CUDA GPU available and enabled.", True + # Gather more diagnostic info if CUDA is not available + try: + cuda_devices = torch.cuda.device_count() + cuda_error = torch.cuda.get_device_name(0) if cuda_devices > 0 else "No devices found" + except Exception as e: + cuda_error = str(e) + return f"CUDA GPU is not available. Using CPU.\nDetails: {cuda_error}", False + except Exception as e: + return f"Error checking CUDA GPU: {e}", False def prevent_sleep_start(): From 05fcf00a9c646bf561b1bc0c7704de95b9613473 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deniz=20=C5=9Eafak?= Date: Fri, 11 Jul 2025 10:26:33 +0300 Subject: [PATCH 14/16] Beter canceling logic, improve quque summary and overall code --- abogen/conversion.py | 13 +++-- abogen/gui.py | 111 +++++++++++++++++++++++++------------------ abogen/utils.py | 2 +- 3 files changed, 77 insertions(+), 49 deletions(-) diff --git a/abogen/conversion.py b/abogen/conversion.py index da25dcf..0a31e60 100644 --- a/abogen/conversion.py +++ b/abogen/conversion.py @@ -166,6 +166,8 @@ class ConversionThread(QThread): self.output_folder = output_folder self.subtitle_mode = subtitle_mode self.cancel_requested = False + self.should_cancel = False + self.process = None self.output_format = output_format self.from_queue = from_queue self.start_time = start_time # Store start_time @@ -1163,9 +1165,14 @@ class ConversionThread(QThread): def cancel(self): self.cancel_requested = True - self.waiting_for_user_input = ( - False # Also release the wait if we're waiting for input - ) + self.should_cancel = True + self.waiting_for_user_input = False + # Terminate subprocess if running + if self.process: + try: + self.process.terminate() + except Exception: + pass class VoicePreviewThread(QThread): diff --git a/abogen/gui.py b/abogen/gui.py index a0ea427..2aec2a0 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -76,7 +76,7 @@ from abogen.constants import ( SUPPORTED_LANGUAGES_FOR_SUBTITLE_GENERATION, COLORS ) -from threading import Thread +import threading from abogen.voice_formula_gui import VoiceFormulaDialog from abogen.voice_profiles import load_profiles @@ -687,10 +687,7 @@ class abogen(QWidget): self.selected_lang = entry[0][0] if entry and entry[0] else None if self.save_option == "Choose output folder" and self.selected_output_folder: self.save_path_label.setText(self.selected_output_folder) - self.save_path_label.setStyleSheet( - f"QLabel {{ color: {COLORS['GREEN']}; }}" - ) - self.save_path_label.show() + self.save_path_row_widget.show() self.subtitle_combo.setCurrentText(self.subtitle_mode) # Enable/disable subtitle options based on selected language (profile or voice) enable = self.selected_lang in SUPPORTED_LANGUAGES_FOR_SUBTITLE_GENERATION @@ -946,7 +943,7 @@ class abogen(QWidget): # Save location save_layout = QHBoxLayout() save_layout.setSpacing(7) - save_label = QLabel("Save Location:", self) + save_label = QLabel("Save location:", self) save_layout.addWidget(save_label) self.save_combo = QComboBox(self) save_options = [ @@ -962,10 +959,24 @@ class abogen(QWidget): self.save_combo.setCurrentText(self.save_option) self.save_combo.currentTextChanged.connect(self.on_save_option_changed) save_layout.addWidget(self.save_combo) - self.save_path_label = QLabel("", self) - self.save_path_label.hide() - save_layout.addWidget(self.save_path_label) controls_layout.addLayout(save_layout) + + # Save path label + self.save_path_row_widget = QWidget(self) + save_path_row = QHBoxLayout(self.save_path_row_widget) + save_path_row.setSpacing(7) + save_path_row.setContentsMargins(0, 0, 0, 0) + selected_folder_label = QLabel("Selected folder:", self.save_path_row_widget) + save_path_row.addWidget(selected_folder_label) + self.save_path_label = QLabel("", self.save_path_row_widget) + self.save_path_label.setStyleSheet( + f"QLabel {{ color: {COLORS['GREEN']}; }}" + ) + self.save_path_label.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) + save_path_row.addWidget(self.save_path_label) + self.save_path_row_widget.hide() # Hide the whole row by default + controls_layout.addWidget(self.save_path_row_widget) + # GPU Acceleration Checkbox with Settings button gpu_layout = QHBoxLayout() gpu_checkbox_layout = QVBoxLayout() @@ -1393,35 +1404,36 @@ class abogen(QWidget): self._update_log_main_thread(message) def _update_log_main_thread(self, message): - # Efficient log: keep only last 10 lines in a Python list if not hasattr(self, '_log_lines'): self._log_lines = [] - # Prepare the new log line as HTML + # Always produce a single HTML line (with color if tuple) if isinstance(message, tuple): text, spec = message color = "green" if spec is True else ("red" if spec is False else spec) - html = self.color_text(text, color) + html_line = self.color_text(text, color) else: - html = str(message).replace("\n", "
    ") + "
    " + html_line = f"{str(message).replace(chr(10), '
    ')}
    " - # Split incoming html into lines (preserving blank lines) - new_lines = html.split("
    ") - # Remove the last empty string if html ends with
    - if new_lines and new_lines[-1] == "": - new_lines = new_lines[:-1] + self._log_lines.append(html_line) - # Append new lines to the buffer - self._log_lines.extend(new_lines) - # Keep only the last log_window_max_lines lines - self._log_lines = self._log_lines[-self.log_window_max_lines:] - - # Join and set as HTML - self.log_text.setHtml("
    ".join(self._log_lines)) - - # Scroll to bottom if needed + # Check if user is at bottom BEFORE inserting sb = self.log_text.verticalScrollBar() - sb.setValue(sb.maximum()) + at_bottom = sb.value() >= sb.maximum() - 2 + + # Trim buffer if needed + if len(self._log_lines) > self.log_window_max_lines: + self._log_lines = self._log_lines[-self.log_window_max_lines:] + self.log_text.clear() + for line in self._log_lines: + self.log_text.insertHtml(line) + else: + self.log_text.insertHtml(html_line) + + # If user was at bottom before, scroll to new bottom + if at_bottom: + sb.setValue(sb.maximum()) + QApplication.processEvents() def _get_queue_progress_format(self, value=None): @@ -1755,7 +1767,7 @@ class abogen(QWidget): load_thread = LoadPipelineThread(pipeline_loaded_callback) load_thread.start() - Thread(target=gpu_and_load, daemon=True).start() + threading.Thread(target=gpu_and_load, daemon=True).start() def show_queue_summary(self): """Show a styled, resizable summary dialog after queue finishes.""" @@ -1764,17 +1776,24 @@ class abogen(QWidget): # Build HTML summary for better styling summary_html = "" + summary_html += ( + f"

    Queue completed

    " + f"Processed {len(self.queued_items)} items:

    " + ) + + for idx, item in enumerate(self.queued_items, 1): - status = "Completed" output = getattr(item, "output_path", None) if not output: output = "Unknown" summary_html += ( - f"{idx}) {os.path.basename(item.file_name)}
    " - f"Language: {item.lang_code}
    " - f"Voice: {item.voice}
    " - f"Output: {output}
    " - f"Status: {status}" + f"{idx}) {os.path.basename(item.file_name)}
    " + f"Language: {item.lang_code}
    " + f"Voice: {item.voice}
    " + f"Speed: {item.speed * 100:.1f}%
    " + f"Characters: {item.total_char_count}
    " + f"Input: {item.file_name}
    " + f"Output: {output}" f"

    " ) summary_html += "" @@ -1858,8 +1877,8 @@ class abogen(QWidget): # Queue finished, show finish screen self.controls_widget.hide() self.finish_widget.show() - self.log_text.moveCursor(QTextCursor.End) - self.log_text.ensureCursorVisible() + sb = self.log_text.verticalScrollBar() + sb.setValue(sb.maximum()) save_config(self.config) # Show queue summary if more than one item if len(self.queued_items) > 1: @@ -1942,7 +1961,7 @@ class abogen(QWidget): if folder: self.selected_output_folder = folder self.save_path_label.setText(folder) - self.save_path_label.show() + self.save_path_row_widget.show() self.config["selected_output_folder"] = folder else: self.save_option = "Save next to input file" @@ -1956,7 +1975,7 @@ class abogen(QWidget): self.save_combo.setCurrentText(self.save_option) self.config["save_option"] = self.save_option else: - self.save_path_label.hide() + self.save_path_row_widget.hide() self.selected_output_folder = None self.config["selected_output_folder"] = None save_config(self.config) @@ -2280,7 +2299,14 @@ class abogen(QWidget): hasattr(self, "conversion_thread") and self.conversion_thread.isRunning() ): - self.conversion_thread.cancel() + if not hasattr(self, "_conversion_lock"): + self._conversion_lock = threading.Lock() + def _cancel(): + with self._conversion_lock: + self.conversion_thread.cancel() # <-- Use cancel() method + self.conversion_thread.wait() + threading.Thread(target=_cancel, daemon=True).start() + self.is_converting = False self.etr_label.hide() # Hide ETR label self.progress_bar.hide() @@ -2304,11 +2330,6 @@ class abogen(QWidget): self.input_box.clear_input() else: self.input_box.clear_input() - if ( - hasattr(self, "conversion_thread") - and self.conversion_thread.isRunning() - ): - self.conversion_thread.wait() prevent_sleep_end() except Exception as e: self._show_error_message_box( diff --git a/abogen/utils.py b/abogen/utils.py index fc27734..fd24176 100644 --- a/abogen/utils.py +++ b/abogen/utils.py @@ -230,7 +230,7 @@ def get_gpu_acceleration(enabled): cuda_error = torch.cuda.get_device_name(0) if cuda_devices > 0 else "No devices found" except Exception as e: cuda_error = str(e) - return f"CUDA GPU is not available. Using CPU.\nDetails: {cuda_error}", False + return f"CUDA GPU is not available. Using CPU. ({cuda_error})", False except Exception as e: return f"Error checking CUDA GPU: {e}", False From 33361275fe719bdc7847516a0d574d29184763f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deniz=20=C5=9Eafak?= Date: Fri, 11 Jul 2025 11:00:45 +0300 Subject: [PATCH 15/16] Add new lines around chapter markers --- abogen/gui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/abogen/gui.py b/abogen/gui.py index 2aec2a0..6ebb5f9 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -577,7 +577,7 @@ class TextboxDialog(QDialog): def insert_chapter_marker(self): # Insert a fixed chapter marker without prompting cursor = self.text_edit.textCursor() - cursor.insertText("<>") + cursor.insertText("\n<>\n") self.text_edit.setTextCursor(cursor) self.update_char_count() self.text_edit.setFocus() From efe0c48877e6b92541a9f534b204685d848c625c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deniz=20=C5=9Eafak?= Date: Fri, 11 Jul 2025 11:06:12 +0300 Subject: [PATCH 16/16] v1.1.0 --- CHANGELOG.md | 2 +- abogen/gui.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ffc7f0..ff8bb2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# v1.1.0 (pre-release) +# v1.1.0 - Added queue system for processing multiple items, allowing users to add multiple files and process them in a queue, mentioned by @jborza in #30 (Special thanks to @jborza for implementing this feature in PR #35) - Added a feature that allows selecting multiple items in book handler (in right click menu) by @jborza in #31, that fixes #28 - Added dark theme support, allowing users to switch between light and dark themes in the settings. diff --git a/abogen/gui.py b/abogen/gui.py index 6ebb5f9..ff22794 100644 --- a/abogen/gui.py +++ b/abogen/gui.py @@ -1777,7 +1777,7 @@ class abogen(QWidget): # Build HTML summary for better styling summary_html = "" summary_html += ( - f"

    Queue completed

    " + f"

    Queue finished

    " f"Processed {len(self.queued_items)} items:

    " ) @@ -1800,7 +1800,7 @@ class abogen(QWidget): dialog = QDialog(self) dialog.setWindowTitle("Queue Summary") - dialog.resize(600, 500) # Make window resizable and larger + dialog.resize(550, 650) # Make window resizable and larger layout = QVBoxLayout(dialog) text_edit = QTextEdit(dialog)