Closed Northern-Born closed 2 years ago
The debug log was missing, please remember to fill in the entire template next time!
If you'd take a look at that debug log, you'd see that when Bitwig tries to restore the state, it first sets a state file, and then tries to set another empty state file. VST2 plugins tend to have two states (one for the processor, another one for the controller. So this indicates that the plugin either randomly returns empty states after querying the first one, or the host randomly decides to send an empty state. Phaseplant then returns a kInternalError
when setting that empty state. The same thing happens under REAPER, but REAPER ignores the error code and everything works fine. But Bitwig does not do this. I'm 99.9% certain this also happens under Windows, but perhaps Bitwig just has a plugin-specific workaround for this there that's not active in the Linux build.
You're best off either asking KiloHearts why the second state file is empty (it's basically just doing an IComponent::getState()
twice in a row), or asking Bitwig to ignore errors on IEditController::setState()
. Or to just not try to set editor controller state at all when IComponent
and IEditController
are implemented using the same object. You could also hack around this in yabridge by always returning kResultOk
in IEditController::setState()
when the state is empty, but I"m obviously not going to implement that in upstream yabridge.
Thanks for giving yabridge a shot!
Problem description
Basically I imported a project from windows to linux, phaseplant is identified by bitwig but all instances crash seemingly regardless of Bitwig's plugin sandboxing settings. If I import my Bitwig library then phaseplant will always crash as the saved default state also came from windows. It seems fine if I make presets within Bitwig on linux, I am able to load every just fine.
There is also the possibility that this is true for every Kilohearts plugin and I just happen to have plugin states saved only set for phaseplant and snapheap. Serum, for example is able to load the plugin states saved in bitwig as normal.
i did attempt exporting "export WINEFSYNC=1" in the .bashrc and restarting but this seemed to change nothing for me
What did you expect to happen?
Phaseplant should load it's saved plugin states in bitwig when loading the plugin or a project
What actually happened?
Phaseplant crashes and the sandbox window warns that it was unable to load the plugin state in "/path/to/file"
Operating system
Arch 6.0.6
How did you install yabridge?
AUR
yabridge version
4.0.2-1
yabridgectl version
4.0.2-1
Wine version
wine staging 7.20-1
Plugin
Phaseplant (maybe also snapheap)
Plugin type
VST3
Plugin architecture
64-bit
Host
Bitwig Studio 4.2.5
Desktop environment or WM
No response
GPU model
No response
GPU drivers and kernel
No response
Debug log
No response
Anything else?
A secondary issue is that click dragging knobs and parameters in phaseplant/snapheap/multipass after opening something like sliceEQ inside will feel like there is insane inertia, making it impossible to make adjustments to the plugin until it's reloaded by the audio engine