You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Dumping parameters to sync the dsp side in e.g. VST as is currently done in IPlugVST3::DirtyParametersFromUI() is problematic in some hosts 馃憖 Live! Causing for example very slow preset changing when clicking through presets in the plugin UI.
something like this is recommend by the VST3 docs, but needs more thought.
Also maybe we need a more generic DirtyState() method
voidIPlugController::UpdateProcessorOnPresetRecall()
{
OPtr<IMessage> message = allocateMessage();
// check message
message->setMessageID ("StateDump");
// dummy code to serialize the state as it exists in the controller
ByteChunk state;
SerializeState(&state);
message->getAttributes ()->setBinary("state", state.GetBytes(), state.Size());
sendMessage(message);
}
tresult PLUGIN_API IPlugProcessor::notify(IMessage* message)
{
if (!message)
returnkInvalidArgument;
if (!strcmp (message->getMessageID(), "StateDump"))
{
constvoid* data;
Steinberg::uint32 size;
if (message->getAttributes()->getBinary("state", data, size) == kResultOk)
{
// dummy code to unserialize the binary state and update the component/processor's parameter values
ByteChunk chunk;
chunk.PutBytes(data, size);
int readPos = 0;
UnserializeState(&chunk, readPos);
}
}
returnComponentBase::notify(message);
}
The text was updated successfully, but these errors were encountered:
Dumping parameters to sync the dsp side in e.g. VST as is currently done in IPlugVST3::DirtyParametersFromUI() is problematic in some hosts 馃憖 Live! Causing for example very slow preset changing when clicking through presets in the plugin UI.
something like this is recommend by the VST3 docs, but needs more thought.
Also maybe we need a more generic DirtyState() method
The text was updated successfully, but these errors were encountered: