Synthesizer dialog: rename empty string in output device names to 'Microsoft Sound Mapper'#11353
Merged
feerrenrut merged 2 commits intoJul 13, 2020
Merged
Conversation
…crosoft Sound Mapper'. Re nvaccess#11349. On Windows 10 Version 2004 (20H1) and 20H2, an empty string is returned when asking Windowd for the friendly name of WAVE_MAPPER constant (-1). In older Windows releases, this is named 'Microsoft Sound Mapper'. Therefore call it that when enumerating device names for 'output device' list in synthesizer dialog in NVDA.
feerrenrut
approved these changes
Jul 13, 2020
feerrenrut
left a comment
Contributor
There was a problem hiding this comment.
This looks fine to me, thanks @josephsl
Contributor
Author
|
Hi, note that this is applicable in 20H1/20H2 (fixed in later builds). Thanks.
|
Contributor
|
When the device name is fetched (using Doing so might improve the robustness of this, see docs for possible return values |
Contributor
Author
|
Hi, when I tried it from Python Console, the function didn’t return any errors if device name was empty (default audio device in Version 2004/20H2). Also, originally I was going to patch nvwave, but figured that getAudioDevices is innocent and is a valuable tool in seeing if device names have changed in newer Insider Preview builds. Thanks.
|
Contributor
|
I meant that checking the return value could help to detect other errors earlier. |
Contributor
Author
|
Hi, to some extent, yes, but that will only give us partial picture as to why we’re seeing what we are seeing. At some point, we might as well move away from output devices getter we’ve been using for a COM-based solution that will give us the full device name (separate issue for the future).
|
Contributor
Author
|
Hi, Fixed in a summer cumulative update, therefore a candidate for reversion. Thanks. |
josephsl
added a commit
to josephsl/nvda
that referenced
this pull request
Sep 16, 2020
…(PR nvaccess#11353)" This reverts commit 4eb6f52, as a summer cumulative update for Windows 10 Version 2004 (and 20H2) fixed it.
This was referenced Sep 16, 2020
feerrenrut
pushed a commit
that referenced
this pull request
Sep 21, 2020
…anslated. (PR #11627) In a summer 2020 cumulative update for Windows 10 May 2020 Update, Microsoft Sound Mapper is once again printed when asking for audio output device names but is not translated. Therefore 'translate' this entry. This change is only applicable to 2020 feature updates (May 2020 Update/20H1 and 20H2). Fixes #11349 Tweaks #11353
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Link to issue number:
Fixes #11349
Summary of the issue:
On Windows 10 Version 2004 (20H1) and 20H2, an empty string is returned when asking Windows for the friendly name of WAVE_MAPPER constant (-1). In older Windows releases, this is named 'Microsoft Sound Mapper'.
Description of how this pull request fixes the issue:
If an empty string is returned, rename it to "Microsoft Sound Mapper" when listing output devices found in synthesizer dialog.
Testing performed:
Tested by calling nvwave.GetOuputDeviceNames on thefollowing Windows 10 releases:
And making sure that for the second scenario, output device list found in synthesizer dialog says "Microsoft Sound Mapper". This was also confirmed on a virtual machine running build 20161 with Korean language pack installed - MS Sound Mapper entry is correctly translated.
Known issues with pull request:
None
Change log entry:
Bug fixes:
On Windows 10 May 2020 Update, NVDA will no longer show an empty device for Microsoft Sound Mapper when viewing output devices from synthesizer dialog. (#11349)
Or a more friendly entry if needed.
Thanks.