View Single Post
Old 06-04-2019, 08:35 PM   #14
Nonlinear
Human being with feelings
 
Join Date: Apr 2018
Posts: 229
Default

Quote:
Originally Posted by random_id View Post
Hope it works. I don't think it should affect/break anything else.
Thank you for looking into this and posting what you found.

I was not able to include the line "if (tag >= mPublicParams) return kResultFalse;" as my compiler could not find "mPublicParams". Did you add that somewhere as well?

Now, this fixed the preset name issue but for some reason my presets still load erratically. Please try clicking around in your presets and see if they load the correct values to the parameters. Now try clicking on the same preset twice in a row. In my plugin there seems to be two different sets of values being loaded and it toggles between them if I click on the same preset twice in a row. I don't know where the second set of values is coming from.

BTW - I also found a major error in the VST3 host bypass function (with latency). NChanDelay.h had an error that prevented any signal from passing. I don't know why no one else found this previously (iPlug1 has been around a long time). The corrected code is below:

Code:
  void ProcessBlock(double** inputs, double** outputs, int nFrames)
  {
    double* buffer = mBuffer.Get();
    
    for (int s = 0 ; s < nFrames; ++s)
    {

      for (int chan = 0; chan < mNumInChans; chan++) 
      {
        if (chan < mNumOutChans)
        {
		  double input = inputs[chan][s];
		  int offset = chan * mDTSamples;
		  outputs[chan][s] = buffer[offset + mWriteAddress];
		  buffer[offset + mWriteAddress] = input;
		}
      }
      
      mWriteAddress++;
      mWriteAddress %= mDTSamples;
    }
  }
It is frustrating that a framework as mature as iPlug has these significant errors. Maybe VST3 support is only "half baked" and perhaps that's why Oli stopped supporting it in favor of iPlug2?

Last edited by Nonlinear; 06-05-2019 at 07:24 AM.
Nonlinear is offline   Reply With Quote