-
Notifications
You must be signed in to change notification settings - Fork 46
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
When the Parameter combo box in the Parameters dialog gets focus, rebuild the parameter list. #707
base: master
Are you sure you want to change the base?
Conversation
Build failed! Build osara pr707-875,3738ff48 failed (commit 3738ff482f by @jcsteh) |
Oh look. It failed on Mac. What a Zarqing surprise. No idea what to do about that. SWELL doesn't support WM_SETFOCUS either, so I can't use that either. |
…uild the parameter list. This deals with cases where changing a parameter value also changes parameter names; e.g. changing the bad type in ReaEq. Fixes #706.
Looks like that assumption is no longer correct. See justinfrankel/WDL@20057d4 |
Build failed! Build osara pr707-962,e27b97f7 failed (commit e27b97f703 by @jcsteh) |
Oh. I forgot I need to change this to use WM_SETFOCUS instead of CBN_SETFOCUS. That's going to require implementing a WindowProc for the combo box, which is annoying, but should be possible. |
…uild the parameter list. This deals with cases where changing a parameter value also changes parameter names; e.g. changing the bad type in ReaEq. Fixes #706.
Build succeeded! Build osara pr707-997,24359a4e completed (commit 24359a4e42 by @jcsteh) |
Would someone be able to test this on Mac? See #706 (comment) for testing instructions. |
Oh, and it still needs testing with plugins with a large number of parameters, either on Windows or Mac. |
Just did some testing on both Windows and Mac with SurgeXT. It's both a plugin that has a lot of parameters (about 2800 for the VST3) and dynamically changes their names. FOr the test I located the FX A1 FX type parameter and changed it from off to one of the effects, which causes the next parameters to change based on the selected effect.
- On Windows, the names change correctly but there's now some lag when the combo box gets focused. With NVDA and ZDSR it's about a second, with Narrator it's a bit less but still noticeable.
- On Mac, there is no lag when you tab into the popup, but the names in the list don't update. You do hear the new names if you use the CTRL+Tab shortcut however.
Would this be any easier to do if #534 were implemented? I suspect it might introduce even more headaches but I figured I'd throw it out there
… On 24 Aug 2022, at 13:59, James Teh ***@***.***> wrote:
Oh, and it still needs testing with plugins with a large number of parameters, either on Windows or Mac.
—
Reply to this email directly, view it on GitHub <#707 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABAABTPAF4LXJLDF23HJLILV2YFBHANCNFSM5QB2VY3Q>.
You are receiving this because you are subscribed to this thread.
|
Yeah, that's what I was afraid of. That's OSARA trying to fetch all the parameter names again.
Ug. Terrific. That means the code isn't actually working at all, probably because the focus notification doesn't work properly on Mac even though it now should.
No; I suspect the lag and focus failure is not related to the type of control. |
Thanks for your testing regardless. |
Actually, I guess it's possible the lag is accessibility events being fired. Hmm. |
Sorry if this is a duplicate post, but I don’t think my last message got to the list. Here it is again:
I don’t know if this is an Osara issue or related to how the JAWS scripts are handling this, but from the sound of this issue, I thought this fix would have addressed the curious behavior I am seeing.
I was using the TriLeveler plug-in and noticed that, as I changed parameter values in Osara’s parameter list, I was getting non-real world values. When focus was first on the value of a parameter, however, the values were real world.
Specifically, here is what happens:
1. Hit “p” to get into the Osara parameters list for the TriLeveler plug-in on the track.
2. Tab to the first value, trim, in the list and see that it says something like 2.5 db.
3. 3. Hit PageDown and the value changes to something like 0.57%.
4. Shift+tab back to the list of parameters, arrow to another parameter, and then arrow back to the trim parameter.
5. Tab to the v value and now I hear the real world value of 2.1 db instead of something like 0.57%.
Thus, as I change parameter values, they are changing but are not being reported correctly.
If you think it is a JAWS scripts issue I can pass it along to Jim to see what he can do.
Thanks.
…--Pete
|
I don’t know if this is Osara issue or related to how the JAWS scripts are handling this, but from the sound of this issue, I thought this fix would have addressed the curious behavior I am seeing.
I was using the TriLeveler plug-in and noticed that, as I changed parameter values in Osara’s parameter list, I was getting non-real world values. When focus was first on the value of a parameter, however, the values were real world.
Specifically, here is what happens:
1. Hit “p” to get into the Osara parameters list for the TriLeveler plug-in on the track.
2. Tab to the first value, trim, in the list and see that it says something like 2.5 db.
3. 3. Hit PageDown and the value changes to something like 0.57%.
4. Shift+tab back to the list of parameters, arrow to another parameter, and then arrow back to the trim parameter.
5. Tab to the v value and now I hear the real world value of 2.1 db instead of something like 0.57%.
Thus, as I change parameter values, they are changing but are not being reported correctly.
If you think it is a JAWS scripts issue I can pass it along to Jim to see what he can do.
Thanks.
…--Pete
|
@ptorpey, that wouldn't be addressed by this fix, even assuming it worked satisfactorily. That is due to the plugin not supporting reporting of friendly values for any value other than the current one, so OSARA can't get the friendly value until after the value has been changed in the plugin. That also prevents OSARA from snapping to the next discrete value if the parameter is not entirely continuous. |
This deals with cases where changing a parameter value also changes parameter names; e.g. changing the bad type in ReaEq.
Fixes #706.
This is a fairly naive solution in that it doesn't bother to keep track of whether a parameter value has actually changed. Thus, it rebuilds the parameter list more often than it strictly needs to. That said, unless this actually causes performance problems for plugins with large numbers of parameters, I'd prefer not to complicate the code here. It should be possible if this does cause problems, though.
Either way, this needs testing on plugins with large numbers of parameters.