refactor(pyqt): use create_pipeline_for_job() in LoadPipelineThread

Replace direct create_pipeline() call with domain function for
consistent provider validation and device resolution.
This commit is contained in:
Artem Akymenko
2026-07-19 07:57:09 +00:00
parent c76cf74efc
commit 380cdee0cb
2 changed files with 8 additions and 20 deletions
+3 -15
View File
@@ -7,7 +7,7 @@ import base64
import re import re
from abogen.pyqt.queue_manager_gui import QueueManager from abogen.pyqt.queue_manager_gui import QueueManager
from abogen.pyqt.queued_item import QueuedItem from abogen.pyqt.queued_item import QueuedItem
from abogen.domain.device import select_device as _select_device
import abogen.hf_tracker as hf_tracker import abogen.hf_tracker as hf_tracker
import hashlib # Added for cache path generation import hashlib # Added for cache path generation
from PyQt6.QtWidgets import ( from PyQt6.QtWidgets import (
@@ -2427,15 +2427,9 @@ class abogen(QWidget):
self.update_log((gpu_msg, gpu_ok)) self.update_log((gpu_msg, gpu_ok))
self.update_log("Loading modules...") self.update_log("Loading modules...")
# Determine device based on GPU availability
if gpu_ok:
device = _select_device()
else:
device = "cpu"
lang_code = self.selected_lang or "a" lang_code = self.selected_lang or "a"
load_thread = LoadPipelineThread( load_thread = LoadPipelineThread(
pipeline_loaded_callback, lang_code=lang_code, device=device pipeline_loaded_callback, lang_code=lang_code, use_gpu=gpu_ok
) )
load_thread.start() load_thread.start()
@@ -2873,15 +2867,9 @@ class abogen(QWidget):
) )
self.loading_movie.start() self.loading_movie.start()
# Determine device based on GPU availability
if self.gpu_ok:
device = _select_device()
else:
device = "cpu"
lang = self.selected_lang or "a" lang = self.selected_lang or "a"
load_thread = LoadPipelineThread( load_thread = LoadPipelineThread(
self._on_pipeline_loaded_for_preview, lang_code=lang, device=device self._on_pipeline_loaded_for_preview, lang_code=lang, use_gpu=self.gpu_ok
) )
load_thread.start() load_thread.start()
+5 -5
View File
@@ -530,18 +530,18 @@ def prevent_sleep_end():
class LoadPipelineThread(Thread): class LoadPipelineThread(Thread):
def __init__(self, callback, lang_code="a", device="cpu"): def __init__(self, callback, lang_code="a", use_gpu=True):
super().__init__() super().__init__()
self.callback = callback self.callback = callback
self.lang_code = lang_code self.lang_code = lang_code
self.device = device self.use_gpu = use_gpu
def run(self): def run(self):
try: try:
from abogen.tts_plugin.utils import create_pipeline from abogen.domain.pipeline_factory import create_pipeline_for_job
backend = create_pipeline( backend = create_pipeline_for_job(
"kokoro", lang_code=self.lang_code, device=self.device "kokoro", language=self.lang_code, use_gpu=self.use_gpu
) )
self.callback(backend, None) self.callback(backend, None)
except Exception as e: except Exception as e: