First, I'll give some needed info before moving to the problem.
- Juce Version - 4.1.0
- OS - Mac OSX 10.11.1
- Plugin Format - VST (behavior was replicated in AU format too)
- Problem - Plugin Host can only load Amplitube 3 or 4 once in the AudioProcessorGraph.
Screenshots I will be referencing...
- Screenshot A - https://www.dropbox.com/s/jnifumj6an6wr1y/Screenshot%20A.png?dl=0
- Screenshot B1 - https://www.dropbox.com/s/py2aop01kqmr4te/Screenshot%20B1.png?dl=0
- Screenshot B2 - https://www.dropbox.com/s/cnzg78k3mc5jne0/Screenshot%20B2.png?dl=0
- Screenshot C - https://www.dropbox.com/s/u8i7pg1hdgrczhp/Screenshot%20C.png?dl=0
- Screenshot D - https://www.dropbox.com/s/8mqmjm5mnqung5y/Screenshot%20D.png?dl=0
To attempt to reproduce the problem:
- Open Plugin Host
- Load Amplitube 3 or 4 into the AudioProcessorGraph
- Remove it from the AudioProcessorGraph.
- Now try to load Amplitube 3 or 4 into the AudioProcessorGraph again.
- You should get a popup window as illustrated in Screenshot D.
I should note that this problem didn't exist until I had purchased something from Amplitube's Custom Shop. I thought that in purchasing Amplitube 4 that the problem would go away, but it didn't. But at least it gave me something to work with in the console.
When loading Amplitube 4 in step 2, the console output reveals Unhandled VST Callback 6 as shown in Screenshot A. So I went to asseca.org and looked it up. This can be viewed in Screenshots B1 and B2 or you can go to this link: http://www.asseca.org/vst-24-specs/amWantMidi.html
So I went into VSTPluginFormat.cpp to have a look around and I found audioMasterWantMidi() under VstIntPtr handleCallback(). If you view Screenshot C, you can get a quick glimpse at what is currently in the place of audioMasterWantMidi(). Code looks good, but I have begun to wonder if something is going on due to the deprecation of audioMasterWantMidi(). Asserca mentions something about AudioEffectX.wantEvents() but I haven't been able to find much on it.
I'm aware this VSTCallback part could be a wild goose chase but it's the best evidence I have for now unless anything above sticks out to someone. I'm not treating this as a bug report as I'm actively trying to fix this for the sake of my own separate plugin hosting application. What I'm hoping for is to see if anyone might have an idea as to what is going on and be able to point me in the right direction.
Thanks everyone for your time.