PlugProcessor::setupProcessing() returns kNotImplemented
alex-tee opened this issue · comments
It should return kResultOk. See the discussion in falkTX/Carla#1848 (comment)
I read the discussion on the link, and it refers to AudioEffect::setProcessing
instead of AudioEffect::setupProcessing
. So it's not returning kNotImplemented
.
It's quite possible that my plugins have other kind of bugs in somewhere else.
I read the discussion on the link, and it refers to
AudioEffect::setProcessing
instead ofAudioEffect::setupProcessing
. So it's not returningkNotImplemented
.
Oh you're right. That's strange though, because accepting kNotImplemented
solved the issue: falkTX/Carla#1849
Okay, I now see what's going wrong.
My plugins don't implement setProcessing
, and it returns kNotImplemented
. However, Carla expects setProcessing
to be implemented.
When I started, I copied the structure of AGain which is an example plugin in VST 3 SDK. And AGain doesn't implement setProcessing
either (link). The documentation about setProcessing
says it is there to reset delays and reverbs for example. However, Steinberg's ADelay example plugin resets buffer in setActive
(link). So, I'm not sure about the use case of setProcessing
.
For testing plugin host, I'd recommend to use the example plugins in VST 3 SDK, especially AGain and NoteExpressionSynth. I guess many people including me wrote their plugins based on these examples.
It seems that your patch to Carla fixes the issue, so I close this issue. If there's still something, please feel free to add comment, or open another issue.
Reference:
- Audio Processor Call Sequence - VST 3 Developer Portal
- VST 3 Interfaces: IAudioProcessor Class Reference
- vst3_pluginterfaces/vst/ivstaudioprocessor.h at f0eeef7ca771f3cac2dfe1922dc5733349766c7b · steinbergmedia/vst3_pluginterfaces · GitHub
- vst3_public_sdk/samples/vst/again/source/again.h at e61ee76eb0f8771a05e99018bc4705ac1b603e48 · steinbergmedia/vst3_public_sdk · GitHub
- vst3_public_sdk/samples/vst/adelay/source/adelayprocessor.cpp at e61ee76eb0f8771a05e99018bc4705ac1b603e48 · steinbergmedia/vst3_public_sdk · GitHub
For testing plugin host, I'd recommend to use the example plugins in VST 3 SDK, especially AGain and NoteExpressionSynth. I guess many people including me wrote their plugins based on these examples.
Fair, thanks