AAX-Windows Mouse-Wheel not recognized (Update)

I’m mostly using 32-bit hosts so never noticed that it doesn’t appear in 64-bit hosts. Reaper and Samplitude (32-bit) are also affected though. I’m quite sure that the issue isn’t host dependent but rather related to 32-bit on Windows.

VST3 also uses the hooks and the issue even occures when VST2 and VST3 plugins are mixed so it’s probably best to simply disable the hooks for 32-bit builds (which would include 32-bit AAX for PT 10 although I didn’t test this at all).

Yes you are right (I forgot i tested AAX only 64bit, thats why it is working),  

so the hook

should be disabled when for 32bit AND windowsversion==7

( it seems its a specific Windows 7 issue, if you google a little bit)

But it would be better when there is a fallback code (maybe inside WindowsHooks) , i will try to find something

Maybe related??

http://www.postseek.com/meta/795cf280785991c62fe5ec74f7616830

https://social.msdn.microsoft.com/Forums/en-US/56093d14-c1bc-4d0a-a915-57fef0695191/windows-7-setwindowshookex-callback-proc-stops-getting-called-after-exceeding-max-time-allowed?forum=windowsgeneraldevelopmentissues

I think this here is related: http://www.juce.com/forum/topic/plugin-mousewheel-issue-vst-32bit-windows-7

There is a known issue in Windows 7 64-bit where 32-bit binaries will receive bad mouse wheel events. I haven't found any other solution to this specific problem other than applying a hot-fix from Microsoft:

https://support.microsoft.com/en-us/kb/2752274

Is this still an issue even after applying Microsoft's Hotfix

https://support.microsoft.com/en-us/kb/2752274

 

I think you mean "ckk", you have my confirmation that this issue can be fixed with the microsoft hotfix!

Back to the orginal topic, i use the WindowsHooks class, also in the AAX-Wrapper which works fine, also i didn't get any bug-reports from my beta-testers yet. 

 

Thanks for the link, the hotfix works here, too.

I’m not sure whether it is a feasible solution for customers, though. Getting the hotfix is rather complicated (accepting an EULA, explicitly checking the hotfix, entering an email address and captcha, checking emails for the download link, extracting the actual hotfix which then can finally be installed).
Of course, this is clearly something that Microsoft should improve (i.e. add the hotfix to one of their regular updates).

Could you add make my suggested change as an option?

#if  JUCE_WINDOWS &&  JucePlugin_AAXWindowsHook

WindowsHooks hooks;

#endif

Potentially related bug: JUCE Plug-ins do not receive mousewheel updates when they are not the currently focused plug-in. You must click the plug-in first before it responds. I've only found this to happen in Pro Tools. I'm testing on Windows 8.1 x64 with PT 11.

We've had a few testers report back. The AAX mousewheel bug in my post above only occurs on Windows, not OS X. It is not solved by installing the Microsoft hotfix.

IIRC the fact that you have to click to focus a window before it receives mouse-wheel events is just how Windows works.. In juce apps I did some hackery so that any focused juce window will also forward its wheel events to other juce windows, but in a plugin it's not possible to do that kind of trick.

As a heads up, it appears that this behavior has changed in Windows 10, which I installed yesterday. Mouse Wheel messages are now sent to the window beneath the cursor, instead of the currently focused window.

Apparently it can be fixed for Windows 7 and 8.1. I received this message from another developer:

"I think we had the same issue in Pro Tools at some point. We currently have a switch in our VSTGUI code that uses a low-level mouse hook (WH_MOUSE_LL) instead of the normal one for AAX on Windows. This seems to have solved it for us."

Is it possible that JUCE would accomodate this fix, or should we add it on our own branch?

I think it's unfair to describe this as a "fix" because there isn't actually a bug - what you're asking for is a hack to make things behave differently to the way that Windows apps normally behave on those OSes.

Yes, it may be possible, but since Windows 10 is here now it's not a priority for us, and hooks can be problematic in plugins, because if a host also uses hooks, the host and plugin can sometimes get into a muddle over them.