Artem Akymenko
a76d338931
refactor: remove compatibility layer, use Plugin Architecture directly
...
- Delete abogen/tts_plugin/compat.py (CompatBackend, create_backend, get_metadata, etc.)
- Add abogen/tts_plugin/utils.py with direct Plugin Manager functions:
get_voices, get_default_voice, is_plugin_registered, resolve_voice_to_plugin, create_pipeline
- Update all 16 consumer files to import from utils instead of compat
- Update __init__.py to re-export utils instead of compat
- Update 5 test files and add TestNoCompatLayer regression tests
- All 493 tests pass
2026-07-12 16:20:06 +03:00
Artem Akymenko
985e16f1f8
feat: migrate remaining consumers to new Plugin Architecture
...
- Add compatibility functions to tts_plugin/compat.py:
- get_metadata(): returns TTSBackendMetadata with voices
- is_registered_backend(): checks if plugin is loaded
- resolve_backend_for_voice(): resolves backend for voice spec
- get_default_voice(): gets default voice for backend
- Update tts_plugin/__init__.py to export new functions
- Migrate all consumers from old tts_backend_registry:
- WebUI: conversion_runner, debug_tts_runner, routes/api, routes/utils/*
- PyQt UI: gui, predownload_gui, voice_formula_gui
- Voice utilities: voice_cache, voice_formulas, voice_profiles
- Other: subtitle_utils, utils, predownload_gui (root)
- Update tests to use new plugin architecture
Old architecture remains intact as fallback.
2026-07-12 16:20:06 +03:00
Artem Akymenko
c4d14112d4
refactor: replace hardcoded backend ID sets with registry checks
...
Add TTSBackendRegistry.is_registered() and module-level
is_registered_backend() to validate backend IDs dynamically.
Replace all Category A hardcoded sets (validation-only) in
voice_profiles, api routes, conversion_runner, and form utils.
2026-07-08 16:33:16 +00:00
Artem Akymenko
f8f72624f8
refactor(webui): replace direct VOICES_INTERNAL/DEFAULT_SUPERTONIC_VOICES with get_metadata API
...
- Add get_default_voice() helper to tts_backend_registry
- Replace all VOICES_INTERNAL imports in WebUI with get_metadata().voices
- Replace all DEFAULT_SUPERTONIC_VOICES imports in conversion_runner with get_metadata().voices
- Remove unused VOICES_INTERNAL import from voices.py
Core modules (voice_profiles, voice_formulas, voice_cache) already used
get_metadata(). This completes the WebUI migration.
2026-07-08 15:42:49 +00:00
JB
938e122166
feat: Refactor code structure to move web-related components to the webui module and update references accordingly
2025-12-21 08:12:48 -08:00
JB
5303dcf681
Refactored code to move into the webui folder in order to prep for merging the branch.
2025-12-21 08:06:15 -08:00