Hi Guys,
Certain plugins for example UAD and Rob Papen Raw call the listener callback for every parameter.
So if I change the eventCallback in juce_AudioUnitPluginFormat.mm to log out the events:
void eventCallback (const AudioUnitEvent& event, AudioUnitParameterValue newValue)
{
printf("id = %u, event = %u\n", event.mArgument.mParameter.mParameterID, event.mEventType);
switch (event.mEventType)
...
For this example I am using UAD Pultec Pro legacy. On the gui I change param 2, here is what is printed:
id = 2, event = 1 id = 2, event = 0 id = 0, event = 0 id = 1, event = 0 id = 3, event = 0 id = 4, event = 0 id = 5, event = 0 id = 6, event = 0 id = 7, event = 0 id = 8, event = 0 id = 9, event = 0 id = 10, event = 0 id = 11, event = 0 id = 12, event = 0 id = 13, event = 0 id = 14, event = 0 id = 15, event = 0 id = 16, event = 0 id = 2, event = 2
So we get the begin and value for param 2, then a value for every param apart from 2 then the end for 2.
I have stuck a breakpoint at AUEventListenerNotify and the plugin is only calling it three times with the begin, value then end events.
For plugins like Raw with 800 params this causes a fair bit of load on the system!
I debugged the plugins in Live and Logic X with a breakpoint on the listener callback and they are only called the correct 3 times so Juce is acting differently.
Anyone any ideas on this?
Cheers
Andy
