Weird interaction with ComboBox, Timer and Carbon plugins

I’m creating an EQ plugin that has a few sliders and a combobox to select filter type. I’m using a Timer set to 30hz in the editor to do the usual “update the UI to reflect any changed parameters”. I got it all working and I’ve been using Voxengo Span to look at the frequency analyzer graph of my EQ. Everything seemed to be ok.

But then I noticed that sometimes, when I change the combobox to change the filter type, the combobox would not reflect the menu selection that I just made. It would stay with the value it originally had. After lots of debugging, I put a simple print statement in my timer callback and noticed that it wasn’t being called regularly. I tried it at 30hz and at 1hz and I could not understand why it was not being called at regular intervals.

I also noticed in the console of the Plugin Host, that there was a message at the start of the run saying "WARNING: 140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. "

I assumed that this was the Voxengo Span plugin and so I tried closing the Span window and viola, my comboboxes now worked properly and the timer callback seemed to be executing at regular intervals. I also got similar results in MainStage as well.

Not sure exactly what this means, but there’s something odd going on with ComboBoxes, Timers and Carbon plugins

Ouch. Seems like a problem with Voxengo Span plugin? Which OS X… ahem… macOS version is this?

macOS 10.11.6 and the current JUCE develop branch.

The reason I posted it here was that I was a bit surprised that another plugin could effect the performance of my plugin so drastically.And why just the ComboBox and not my Sliders?