From 68c846324cd793194dc3c8d42986ed77a8057f4b Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Sun, 25 Apr 2021 23:07:24 +0200 Subject: [PATCH] Also explicitly list simple dispatcher opcodes --- src/plugin/bridges/vst2.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/plugin/bridges/vst2.cpp b/src/plugin/bridges/vst2.cpp index e69eeb77..de2d49b5 100644 --- a/src/plugin/bridges/vst2.cpp +++ b/src/plugin/bridges/vst2.cpp @@ -236,6 +236,31 @@ class DispatchDataConverter : DefaultDataConverter { case effShellGetNextPlugin: return WantsString{}; break; + // NOTE: We needed to explicitly handle `audioMasterWantMidi()` on + // the Wine side because UVI Plugsound Free would pass garbage + // data to `data`, which would of course trigger a segfault + // when yabridge would try to read from it. Even though no + // Linux hosts do such a thing, we'll do something similar + // here just to be consistent. + case effClose: + case effSetProgram: + case effGetProgram: + case effSetSampleRate: + case effSetBlockSize: + case effMainsChanged: + case effEditClose: + case effEditIdle: + case effCanBeAutomated: + case effGetPlugCategory: + case effGetVendorVersion: + case effGetTailSize: + case effIdle: + case effGetVstVersion: + case effBeginSetProgram: + case effEndSetProgram: + case effStartProcess: + case effStopProcess: + return nullptr; default: return DefaultDataConverter::read(opcode, index, value, data); break;