Usage of AAXClasses

Hi,

I’m currently writing an audio plugin where the textboxes on sliders are activated via double click and alt-clicking is the only way to reset the slider.

To achieve this I’ve disabled the default double click return value behaviour and overridden the mouseDown and mouseDrag functions on my sliders to reset in mouseDown and prevent any further movement inside mouseDrag. This has worked fine on every host but my coworker’s Windows machine on Pro Tools. me.mods.withoutMouseButtons() return 0 most of the time instead of 4 (alt) as expected.

ComponentPeer::getCurrentModifiers() is also very inconsistent, so AFAIK I’ll need to use AAXClasses::getWin32Modifiers() in AAX builds to do the job.

AAXClasses, however, doesn’t seem to be present in my builds and if I try to use it my AAX builds fail. What’s the correct way to do this?

I’m building on juce 7.0.5 using cmake
Build is failing both on mac and windows

Thank you for any insights.

The implementation for getWin32Modifiers() isn’t publicly available, so you can’t really reference it in a way that would compile.

The results of the function should however be available through ModifierKeys::getCurrentModifiers() in AAX plugins. You should see if that function returns the right values.

Since 7.0.5 there has also been an update to the AAX library version used. So you could check if you get better results after downloading the latest AAX SDK and using that from JUCE develop.

After upgrading to AAX SDK 2.5.0, switching to develop and using ModifierKeys::currentModifiers it finally works! Thanks for the pointer!

I know it might be hard to say, but any word on when the develop changes are getting merged? Or should it be ok to use develop for a commercial release?