Only perform mutual recursion from the GUI thread

JUCE incorrectly calls `IComponentHandler::performEdit()` from the audio
thread instead of using the output parameter changes queue, so this
would also cause GUI resizes to be handled from the audio thread if they
come in at the same time as such a parameter change.
This commit is contained in:
Robbert van der Helm
2021-07-10 14:30:52 +02:00
parent 04a8be6cc6
commit 3c94ee7049
2 changed files with 23 additions and 3 deletions
+5
View File
@@ -59,6 +59,11 @@ Versioning](https://semver.org/spec/v2.0.0.html).
plugins would at runtime change their query interface to support more VST3
interfaces, including the required edit controller interface. Yabridge now
requeries the supported interfaces at a later stage to work around this.
- Fixed JUCE plugins like Tokyo Dawn Records' **SlickEQ M** causing the host to
freeze when they send a parameter change from the audio thread using the wrong
VST3 API while at the same time the host is trying to resize the window. This
would happen in this particular plugin when reopning the Smart Ops panel after
having used it once.
- Fixed missing transport information for VST2 plugins in **Ardour**, breaking
host sync and LFOs in certain plugins. This was a regression from yabridge
3.2.0.