View Single Post
Old 08-29-2020, 09:41 AM   #2
Human being with feelings
Join Date: Apr 2018
Posts: 352

Originally Posted by Nonlinear View Post
TBPro pointed me to the cause - it's in iGraphics.cpp - so it could actually be a latent problem in all formats. Every occurrence of pControl->Draw(this) in the IGraphics Draw() method needs to be immediately followed with pControl->SetClean(). In other words they have to form a pair. I found that pControl2 (in a loop through all controls) had no SetClean() at all so I added it. With these changes the iSwitch sync problem is solved. Could be that other plugin formats have faster/different GUI threads so this issue only appeared in Pro Tools, IDK.
Nope - still a problem in AAX. Everything works fine when transport is stopped but if transport is running buttons don't always update correctly - ISwitch status changes but the associated bitmap SOMETIMES does not causing the displayed value and actual value to become out of sync.

I can FORCE a redraw of the control in OnParamChange() - and it works - but why do I need to do that? (It's a "band aid" I'd rather not have to use)

Any other suggestions? Again, it works fine everywhere else - just not AAX/Pro Tools and only on Mac (works fine in Windows).

Last edited by Nonlinear; 08-29-2020 at 08:37 PM.
Nonlinear is offline   Reply With Quote