mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-23 23:17:46 +01:00
VST3: implement some restart component flags
Re-order handling of the flags, do not return early, and log warnings for unhandled flags.
This commit is contained in:
parent
814eca48af
commit
00b5b61a43
1 changed files with 18 additions and 4 deletions
|
|
@ -1261,10 +1261,16 @@ VST3PI::restartComponent (int32 flags)
|
||||||
printf ("VST3PI::restartComponent %x\n", flags);
|
printf ("VST3PI::restartComponent %x\n", flags);
|
||||||
#endif
|
#endif
|
||||||
if (flags & Vst::kReloadComponent) {
|
if (flags & Vst::kReloadComponent) {
|
||||||
return kNotImplemented;
|
/* according to the spec, "The host has to unload completely
|
||||||
}
|
* the plug-in (controller/processor) and reload it."
|
||||||
if (flags & Vst::kIoChanged) {
|
*
|
||||||
return kNotImplemented;
|
* However other implementations, in particular JUCE, only
|
||||||
|
* re-activates the plugin. So let's follow their lead for
|
||||||
|
* the time being.
|
||||||
|
*/
|
||||||
|
warning << "VST3: Vst::kReloadComponent (ignored)" << endmsg;
|
||||||
|
deactivate ();
|
||||||
|
activate ();
|
||||||
}
|
}
|
||||||
if (flags & Vst::kParamValuesChanged) {
|
if (flags & Vst::kParamValuesChanged) {
|
||||||
update_shadow_data ();
|
update_shadow_data ();
|
||||||
|
|
@ -1275,6 +1281,14 @@ VST3PI::restartComponent (int32 flags)
|
||||||
activate ();
|
activate ();
|
||||||
_plugin_latency.reset ();
|
_plugin_latency.reset ();
|
||||||
}
|
}
|
||||||
|
if (flags & Vst::kIoChanged) {
|
||||||
|
warning << "VST3: Vst::kIoChanged (not implemented)" << endmsg;
|
||||||
|
#if 0
|
||||||
|
update_processor ();
|
||||||
|
// TODO getBusArrangement(); enable_io()
|
||||||
|
#endif
|
||||||
|
return kNotImplemented;
|
||||||
|
}
|
||||||
return kResultOk;
|
return kResultOk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue