File size: 1,085 Bytes
bbb4c3b 9c63f16 7ea987a 9c63f16 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
from RealtimeTTS.base_engine import BaseEngine, TimingInfo
from .orpheus_engine import OrpheusEngine
__all__ = [
"BaseEngine", "TimingInfo",
"SystemEngine", "SystemVoice",
"OrpheusEngine", "OrpheusVoice",
]
# Lazy loader functions for the engines in this subpackage.
def _load_system_engine():
from .system_engine import SystemEngine, SystemVoice
globals()["SystemEngine"] = SystemEngine
globals()["SystemVoice"] = SystemVoice
return SystemEngine
def _load_orpheus_engine():
from .orpheus_engine import OrpheusEngine, OrpheusVoice
globals()["OrpheusEngine"] = OrpheusEngine
globals()["OrpheusVoice"] = OrpheusVoice
return OrpheusEngine
# Map attribute names to lazy loader functions.
_lazy_imports = {
"SystemEngine": _load_system_engine,
"SystemVoice": _load_system_engine,
"OrpheusEngine": _load_orpheus_engine,
"OrpheusVoice": _load_orpheus_engine,
}
def __getattr__(name):
if name in _lazy_imports:
return _lazy_imports[name]()
raise AttributeError(f"module {__name__} has no attribute {name}") |