mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-10 04:30:12 +02:00
Revert "Inhibit the event loop during VST3 editor init"
This reverts commit ff76e482f2.
This was a workaround for a race condition in Nimble Kick when opening
the editor while the plugin has not yet been authorized (a Win32 timer
proc between `IEditController::createView()` and `IPlugView::attached()`
would cause a stack overflow because the plugin doesn't check if the
things it wants to use have actually been initialized yet).
But as it turns out, Bitwig Studio now calls
`IEditController::createView()` unconditionally when loading a VST3
plugin, regardless of whether the user wants to open the editor or not.
So this workaround would cause the message loop to be stalled
indefinitely until you open the editor. Since this would also cause
Nimble Kick to break in the Windows version of Bitwig, we'll simply
revert this workaround. If you need to activate the plugin on Linux, you
can load it in the Windows version of REAPER running under Wine instead.
After that the plugin will work just fine under yabridge.
This commit is contained in:
@@ -15,6 +15,15 @@ Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### Fixed
|
||||
|
||||
- Reverted the workaround for _Nimble Kick_ freezing added in yabridge 3.5.0.
|
||||
This could cause VST3 plugins in **Bitwig Studio** to not process their
|
||||
message loop and thus potentially freeze when using multiple instances of the
|
||||
plugin. Bitwig now always initializes calls `IEditController::createView()`,
|
||||
even if the user doesn't open the plugin's editor. Our workaround for the
|
||||
Nimble Kick race condition expected this to be immediately followed by
|
||||
`IPlugView::attached()`, which is not the case here. Since the plugin would
|
||||
also cause the native Windows version of Bitwig Studio to crash, we'll thus
|
||||
just simply revert this change.
|
||||
- Changed how input focus releasing works by more specifically ignoring events
|
||||
where the mouse pointer is still hovering over a Wine window instead of
|
||||
ignoring a wider class of events. This should fix some edge cases where input
|
||||
|
||||
Reference in New Issue
Block a user