Preparing to merge.

This commit is contained in:
Storm Dragon
2025-09-05 00:01:59 -04:00
parent 08be529a33
commit c359c037e1
+28 -26
View File
@@ -126,26 +126,28 @@ if platform.system() == "Windows":
print(f"Failed to initialize accessible_output2: {e}") print(f"Failed to initialize accessible_output2: {e}")
sys.exit() sys.exit()
else: else:
# Linux/Mac path - prioritize Orca remote controller # Linux/Mac path - prioritize speech-dispatcher first
orca_remote = OrcaRemoteController() try:
if orca_remote.available: import speechd
speechProvider = "orca_remote" spd = speechd.Client()
orca = orca_remote speechProvider = "speechd"
else: except ImportError:
try: # Fall back to Orca remote controller
output = subprocess.check_output(["pgrep", "cthulhu"]) orca_remote = OrcaRemoteController()
speechProvider = "cthulhu" if orca_remote.available:
except (subprocess.CalledProcessError, FileNotFoundError): speechProvider = "orca_remote"
orca = orca_remote
else:
# Fall back to Cthulhu
try: try:
import accessible_output2.outputs.auto output = subprocess.check_output(["pgrep", "cthulhu"])
s = accessible_output2.outputs.auto.Auto() speechProvider = "cthulhu"
speechProvider = "accessible_output2" except (subprocess.CalledProcessError, FileNotFoundError):
except ImportError as e:
try: try:
import speechd import accessible_output2.outputs.auto
spd = speechd.Client() s = accessible_output2.outputs.auto.Auto()
speechProvider = "speechd" speechProvider = "accessible_output2"
except ImportError: except ImportError as e:
print("No speech providers found.") print("No speech providers found.")
sys.exit() sys.exit()
@@ -1961,7 +1963,14 @@ class DoomLauncher(QMainWindow):
except ImportError: except ImportError:
pass pass
else: else:
# On Linux, check each provider # On Linux, check each provider in priority order
# Check speechd first (highest priority)
try:
import speechd
available_providers.append("speechd")
except ImportError:
pass
# Check Orca remote controller # Check Orca remote controller
orca_remote = OrcaRemoteController() orca_remote = OrcaRemoteController()
if orca_remote.available: if orca_remote.available:
@@ -1981,13 +1990,6 @@ class DoomLauncher(QMainWindow):
except ImportError: except ImportError:
pass pass
# Check speechd
try:
import speechd
available_providers.append("speechd")
except ImportError:
pass
return available_providers return available_providers
def populate_speech_methods(self): def populate_speech_methods(self):