Force host to redisplay plugin-window ?
Hi all
i have a little problem to solve.
I modified IPlug, so that i can build multichannel vstis (eg 16 midi channels => 16 engines => 16 outputs), reading Preset data from a XML file. Each channel can play a different preset.
OK so far ?
Now, the hosts give me a list of available presets to assign to my "current visible" midi channel, like AULab displays it in the top line above the plug UI. Fine.
But when I change the midi channel (and so the engine and the playing preset), the host will not update the currently set preset name. In fact, it can´t because there is no callback function that informs the host about this change...right ?
I guess i could inform a VST host with something like this:
void IPlugVST::ForceHostUpdateMasterDisplay()
{
mHostCallback(&mAEffect, audioMasterUpdateDisplay,0,0,0,0);
}
so the host would finally call VSTCALLBACK IPlugVST::VSTDispatcher(...) with opcode = effGetProgramName and here i could return the preset name set to the currently selected midi channel. Something like this... I didnt test this yet because i hav no Windows PC here. At least it seems there is a way to force the host to redisplay...
But for AU, i can´t find such a thing.... i hoped there would be a kAudioUnitEvent_xxx event to do this but ... no :-/
Any ideas how i could implement this ?
Thanks
regards,
Rudi
|