New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Re-add audio device combo box to synth select dialog #15486
Re-add audio device combo box to synth select dialog #15486
Conversation
See test results for failed build of commit 32f11a2d16 |
Some lint errors (especially re string formatting) appear to be false-positives, and this was compliant as originally present. |
Regarding the second concern you mentioned, I think implementing #8801 may be a long-term solution. As for what you mentioned about destroying muscle memory, I think it is not the most important, because it will not lead to any terrible consequences. |
Yes, though likely not in 2023.3. Worth considering for 2024.1! |
agreed, the beta period is for completing work and fixing regressions not new features. |
44f18c0
to
b85837d
Compare
b85837d
to
4aef139
Compare
source/gui/settingsDialogs.py
Outdated
@@ -2566,6 +2572,38 @@ def _synthWarningDialog(newSynth: str): | |||
) | |||
|
|||
|
|||
def _addAudioCombos(panel, sHelper): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can this please get type hints?
Perhaps this could be a static method of AudioPanel, so that when the deprecated code is removed the function still makes sense as a helper function
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any thoughts on making this a static method? it will greatly simplify the diff and also simplify reverting in 2024.1
I think if the audio settings category will have a shortcut as well or am I wrong? |
I'm not sure about this proposal. I really like a separate settings category, as long as it has a dedicated shortcut to open. In that case, audio output device would be the first item in the dialog and it would instantly gain focus, which is an improvement over the current sequence. That definitely needs to be added regardless of what happens with this pr. However, I'm also slightly concerned that removing the audio device selection from the synthesizer dialog causes unexpected behavioral changes in case where NVDA is somehow stuck to a nonexistent sound device. In the past, changing synth would also reinitialize audio in this case since the selected device would automatically fall back to sound mapper, but now, this no longer happens. |
Agree with @LeonarddeR and @Adriani90: A shortcut to open audio settings could be added for the audio panel and the audio device would be the first item, directly focused. @codeofdusk, could you explain if and why this solution is not satisfying? IMO the fact that people are used to NVDA+control+S then tab to blindly change their audio device is not a good reason to revert. Things may be changed provided that they are well documented in User Guide and in the Change log; an article in In-process could also be worth it if needed (Cc @Qchristensen)
@LeonarddeR could you please be more specific: use case description in detail and step to recover from non-existing sound device situation? |
I must admit that this is slightly hypothetical, and I need to test it to gain some proof, but up until now, synthesizer and audio device selection have been that intertwined that there is likely a interdependence that we might be missing. It is not without reason that the audio device is part of the speech category in the config spec. |
The solution is satisfying, but given the length of time for which we've had audio devices in NVDA+Control+s (well over 10 years) announcing a change like this (especially given the possibility of unforseen interdependence pointed out by @LeonarddeR) with very little warning presents a poor user experience. Target the change for 2024.1 and use the intervening time to warn users/think of a good UX for this. |
This sounds like a reasonable request. |
@LeonarddeR, please check the code changes in #15472. |
I think I'm convinced now. I just tried the following:
The new synth happily ignores the configured nonexistent device and chooses the sound mapper. This is great. |
…om/codeofdusk/nvda into readd-audio-device-to-synth-dialog
See test results for failed build of commit 52966abcc1 |
See test results for failed build of commit af7e582700 |
@codeofdusk - there is no need to bump CI. If the failures are unrelated they can be ignored |
Link to issue number:
Partially reverts #15472.
Summary of the issue:
The "output device" option has been removed from the NVDA+Control+s dialog. This breaks muscle memory for long-time NVDA users and makes it very hard to blindly (without audible speech or connected Braille) change sound devices in the event of unexpected device switching.
Description of how this pull request fixes the issue:
Selectively reverts the change in #15472 that removes the option from the synth selection dialog.
Testing strategy:
Verified that the "output device" option in both dialogs works as expected
Known issues with pull request:
Change log entry:
In PR
Code Review Checklist: