Skip to content

Error in tones.beep #12620

@CyrilleB79

Description

@CyrilleB79

Steps to reproduce:

Make NVDA generate a beep via with tones.beep.

For example with Speech History from @jscholes:

  • Use NVDA normally (with speech)
  • Press F12 to copy the last spoken text to the clipboard. This script copies the last spoken text and then calls the following beep command to indicate that the copy has occurred:
    tones.beep(1500, 120)

Actual behavior:

Rarely, the beep is not heard and the following can be seen in the log:

IO - inputCore.executeGesture (09:58:52.937) - winInputHook (11384):
Input: kb(desktop):f12
IO - tones.beep (09:58:52.961) - MainThread (11120):
Beep at pitch 1500, for 120 ms, left volume 50, right volume 50
ERROR - scriptHandler.executeScript (09:58:52.967) - MainThread (11120):
error executing script: <bound method GlobalPlugin.script_copyLast of <globalPlugins.speechHistory.GlobalPlugin object at 0x068FDA70>> with gesture 'f12'
Traceback (most recent call last):
  File "scriptHandler.pyc", line 208, in executeScript
  File "C:\Users\CB232690\AppData\Roaming\nvda\addons\speechHistory\globalPlugins\speechHistory.py", line 57, in script_copyLast
    tones.beep(1500, 120)
  File "tones.pyc", line 59, in beep
  File "nvwave.pyc", line 491, in stop
  File "nvwave.pyc", line 453, in _idleUnbuffered
  File "nvwave.pyc", line 408, in sync
  File "nvwave.pyc", line 111, in _winmm_errcheck
OSError: [Errno 5] Le handle du périphérique spécifié n’est pas valide.

The occurence of this issue is very rare (maybe 1/100 or less). But trying to execute the F12 command many times does not help reproducing this issue.

Expected behavior:

The beep is played and no error in the log.

System configuration

NVDA installed/portable/running from source:

installed

NVDA version:

2021.1rc2

Windows version:

Windows 10 20H2 (64-bit) build 19042.1052

Name and version of other software in use when reproducing the issue:

Speech History add-on from @jscholes
Version modified by myself for 2021.1 compatibility:

  • base version: 2020.2
  • Manifest updated for 2021.1
  • Import of the speech module updated according to 2021.1 code reorganization

Note: even if the issue is described in an add-on, moreover, unofficial, the issue just comes from a simple tones.beep command executed in a script. Thus, I do not think that the issue comes from the add-on.
If I ever encounter this issue in another context, I will indicate it in this issue.

Other information about your system:

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

I think to recall that this issue was already present in 2020.4.
I cannot be sure and cannot confirm however given that the frequence of the issue is very low.

If add-ons are disabled, is your problem still occurring?

The current STR involves an add-on. However a test could be done without add-on, issuing the tones.beep command in the console or playing with the beeps issued by NVDA's core such as for indent or progress bars.
I did not test however given that the issue is to rare.

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

I did not yet try.
I will run it just now and update this issue if/when the issue occurs again.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions