Synchronize 3D position automation between Panner and Nuendo Track,the curve is in jagged shape

I’m developing a panner plugin(VSTSDK3 + Nuendo
Based on the official documents, the following functions are implemented:
• The begin of a manipulation must be signaled via Steinberg::Vst::IComponentHandler::beginEdit
• Changes of parameters are reported via Steinberg::Vst::IComponentHandler::performEdit
• The end of a manipulation must be signaled via Steinberg::Vst::IComponentHandler::endEdit
I enable automation of the panner to W, then change the parameter value from 100 to 50 on the Panner plug-in UI.
I Expected the audio track of Nuendo(11) automation bar displays a smooth curve.
But the parameters displayed in the automation column of the andio track are in jagged shape.
If beginEdit/endEdit is deleted, only the performEdit call is retained, I get a smooth falling curve.
But this is not the official recommended mode.
I want to know what the real reason is? How do I modify my code?

What’s your setting of the Reduction Level in the automation panel?
Does your result look better when setting the reduction level to zero?

Thank you very much for your reply. I tried to change the level to 0, but the problem still exists.

How is your code sequence?
A) beginEdit, performEdit, endEdit, beginEdit, performEdit, endEdit, …
B) beginEdit, performEdit, performEdit, …, endEdit

Our code sequence is A, between beginEdit and performEdit, I called the setParamNormalized function.
After I remove beginEdit and endEdit, the curve is displayed normally and the problem does not exist.

You need to use B.

You only call beginEdit when you start to change the parameter and then you call performEdit until your edit session ends where you call endEdit.

For a mouse gesture that would be

mouse down -> beginEdit
mouse move -> performEdit
mouse move -> performEdit
mouse up -> endEdit

If you do:

mouse down -> nothing
mouse move -> beginEdit, performEdit, endEdit
mouse move -> beginEdit, performEdit, endEdit
mouse up - > nothing

then you will get what you currently see.

According to your suggestions, the problem is solved after modification. Thank you for your support.

1 Like