ultrasound1372 / NVDA-IBMTTS-Driver

This progect is to develop and maintain the NVDA IBMTTS driver. This repository is responsible for the x0_personal versions, which are continuing development even after it seems activity from the base repository has stopped.
GNU General Public License v2.0
1 stars 0 forks source link

Version 21.01 of add-on throws an "list index out of range" error when used with NVDA 2019.2.1 #36

Closed tmthywynn8 closed 3 years ago

tmthywynn8 commented 3 years ago

Steps to reproduce:

  1. Install add-on.
  2. If needed, modify the IBMTTS folder address under settings>IBMTTS so that an ECI library is loaded, i.e., using eci.dll.
  3. Use NDVA normally.

Expected results: NVDA should speak as normal, just as it did with the previous driver release (v20.10).

Actual results: NVDA stays silent during most interactions, though the About NVDA dialog reads fine (Help>About). When pulling up the log, these kind of errors are thrown:

ERROR - eventHandler.executeEvent (01:45:55.963):
error executing event: focusEntered on <NVDAObjects.IAccessible.sysListView32.List object at 0x04265BF0> with extra args of {}
Traceback (most recent call last):
  File "eventHandler.pyo", line 155, in executeEvent
  File "eventHandler.pyo", line 92, in __init__
  File "eventHandler.pyo", line 100, in next
  File "NVDAObjects\__init__.pyo", line 1024, in event_focusEntered
  File "speech.pyo", line 416, in speakObject
  File "speech.pyo", line 352, in speakObjectProperties
  File "speech.pyo", line 459, in speakText
  File "speech.pyo", line 587, in speak
  File "C:\NVDA\userConfig\addons\IBMTTS\synthDrivers\ibmeci.py", line 252, in speak
IndexError: list index out of range

Note that with NVDA 2020.3 the driver works without issue, and v20.10 works with NVDA 2019.2.1 without issue too.

ultrasound1372 commented 3 years ago

Hmmm. I wonder which list index is out of range. There's two of them there. I'm not sure of the ideosyncracies between the synth implementations there, but I do think it's something to do with speech refactor rather than python 2/3 compatibility. Line 252 wasn't altered in 21.01 I don't think, so it must be somewhere else in the code that does construction. @davidacm any input on this?