mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-10 04:30:12 +02:00
Allow plug view creation to fail
This commit is contained in:
@@ -66,6 +66,9 @@ Versioning](https://semver.org/spec/v2.0.0.html).
|
|||||||
process failed to start treating zombie processes as still running. This could
|
process failed to start treating zombie processes as still running. This could
|
||||||
cause plugins to hang during scanning if the Wine process crashed in a very
|
cause plugins to hang during scanning if the Wine process crashed in a very
|
||||||
specific (and likely impossible) way.
|
specific (and likely impossible) way.
|
||||||
|
- In the event a VST3 plugin were to return a null pointer for
|
||||||
|
`IEditController::createView()`, this will now be propagated correctly on the
|
||||||
|
plugin side.
|
||||||
- Fixed VST2 speaker arrangement configurations returned by the plugin not being
|
- Fixed VST2 speaker arrangement configurations returned by the plugin not being
|
||||||
serialized correctly. No plugins seem to actually use these, so it should not
|
serialized correctly. No plugins seem to actually use these, so it should not
|
||||||
have caused any issues.
|
have caused any issues.
|
||||||
|
|||||||
@@ -466,11 +466,19 @@ void Vst3Bridge::run() {
|
|||||||
// Instantiate the object from the GUI thread
|
// Instantiate the object from the GUI thread
|
||||||
main_context
|
main_context
|
||||||
.run_in_context([&]() -> void {
|
.run_in_context([&]() -> void {
|
||||||
object_instances.at(request.instance_id)
|
Steinberg::IPtr<Steinberg::IPlugView> plug_view(
|
||||||
.plug_view_instance.emplace(Steinberg::owned(
|
Steinberg::owned(
|
||||||
object_instances.at(request.instance_id)
|
object_instances.at(request.instance_id)
|
||||||
.edit_controller->createView(
|
.edit_controller->createView(
|
||||||
request.name.c_str())));
|
request.name.c_str())));
|
||||||
|
|
||||||
|
if (plug_view) {
|
||||||
|
object_instances.at(request.instance_id)
|
||||||
|
.plug_view_instance.emplace(plug_view);
|
||||||
|
} else {
|
||||||
|
object_instances.at(request.instance_id)
|
||||||
|
.plug_view_instance.reset()
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.wait();
|
.wait();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user