From a0e3050c6e1e43df3941077afa4ade9a1c4d6ce4 Mon Sep 17 00:00:00 2001 From: historia Date: Sun, 30 Aug 2026 20:42:02 -0400 Subject: fix: non-clone models correctly supported in tui, restart server when needed --- app/backends/audiocpp/models.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'app/backends/audiocpp/models.py') diff --git a/app/backends/audiocpp/models.py b/app/backends/audiocpp/models.py index f2c4e5e..d81dcfc 100644 --- a/app/backends/audiocpp/models.py +++ b/app/backends/audiocpp/models.py @@ -313,10 +313,16 @@ def _build_tree_families(catalog: List[dict]) -> List[dict]: """Shape the catalog into the checkbox_tree widget's family list.""" families: List[dict] = [] for entry in catalog: - capabilities = ["tts"] - if "clone" in entry["tasks"]: + tasks = set(entry["tasks"]) + # Clone-only families (e.g. Chatterbox) cannot synthesize without + # a reference voice, so they do not advertise plain "tts". + clone_only = _catalog.is_clone_only_family(entry["family"], tasks) + capabilities = [] + if not clone_only: + capabilities.append("tts") + if "clone" in tasks or clone_only: capabilities.append("cloning") - if "design" in entry["tasks"]: + if "design" in tasks: capabilities.append("design") name = entry["display_name"] options = [] -- cgit v1.2.3