Getting data correctly and quickly from an audio thread into the GUI thread is an infamous problem and there may not be an easy solution that works for everything...
I haven't worked on this problem space too much lately, so I can't offer any fresh insights into it. In the past in Qt-based code I've used Qt's signals to pass some data from the audio thread into the GUI thread. IPlug/WDL unfortunately don't have anything like Qt's signals/slots. These days in Juce-based code I would first try using Juce's MessageManager::callAsync method and benchmark if it is too heavy to be used in the audio thread. Unfortunately, something like MessageManager::callAsync doesn't exist in IPlug/WDL, either.
Maybe someone else who has more recent IPlug experience could chime in on this...
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|