nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
Other
2.02k stars 624 forks source link

Audio output device names truncated to 32 characters #2067

Open nvaccessAuto opened 12 years ago

nvaccessAuto commented 12 years ago

Reported by HKatic on 2012-01-29 13:10 In NVDA's synthesizer preferences dialog, the Output Device Combo Box displays incomplete device names. For example, I have 2 sound cards, the one which is Realteck High Definition Audio, and another which is SoundBlaster X-Fi Surround 5.1 Pro. However, they are displayed as follows: Output device: Speakers (Realtek High Definiti Output device: Speaker (Sound Blaster X-Fi Sur This simply means that the entire device name doesn't fit into the Combo Box control, and that the control or dialog itself needs to be resized.

nvaccessAuto commented 12 years ago

Comment 1 by jteh on 2012-01-29 21:54 It has nothing to do with the size of the combo box control. The issue is that the Windows API function we use to retrieve the device names only returns a maximum of 32 (or maybe 31) characters. Changes: Changed title from "The Output Device Combo Box in Synthesizer preferences needs resizing" to "Audio output device names truncated to 32 characters"

bhavyashah commented 6 years ago

@jcsteh As you indicated in https://github.com/nvaccess/nvda/issues/2067#issuecomment-155295439, the reported issue is a limitation of the Windows API function we use. Do we have alternatives to use with a more relaxed character limit? CC @feerrenrut for GUI expertise

jcsteh commented 6 years ago

I don't know. There are newer APIs, but the question is whether we can map these back to WinMM device identifiers. Further research is required.

Adriani90 commented 5 years ago

@HKatic is this also in Windows 10 the case?

Adriani90 commented 4 years ago

I can reproduce this in NVDA alpha-20097,6a573cd9. cc: @JulienCochuyt

JulienCochuyt commented 4 years ago

Found a few hints here: https://stackoverflow.com/questions/1449162/get-the-full-name-of-a-wavein-device/43396412

Long story short:

It's doable, but a bit complicated for what it attempts to solve...