Add VST2 hosting to native bridge; fix CC7 data2 routing verified via SHM test
VST2 (Steinberg 2.4 ABI) host via Vst2Instrument: aeffect.h, dispatcher, process events/replacing, kEffectStartProcess, headless GUI skip. - create_instrument returns Vst2Instrument for InstrumentType::VST2 - 64B-aligned scratch buffers for SIMD plugins; SEH crash capture module+stack - plugins.py: VST2 resolves .dll/.so; vst_engine.py reports VST2 type - app.jsx: derive instrumentType from scan (VST3 vs VST2), not hardcoded - Install exes refreshed from Release build SF2 FluidSynth audio verified end-to-end through SHM ring (energy 1.33): silence was a test-harness bug (CC7 value written to velocity field, bridge reads data2) — app sends data2 correctly. All temporary diagnostics removed.
This commit is contained in:
@@ -793,6 +793,16 @@ int main(int argc, char* argv[]) {
|
||||
g_pendingGui[guiCh] = { (void*)arg1, pluginId };
|
||||
return;
|
||||
}
|
||||
// VST2 headless (no editor) hoac instrument load fail -> khong tao
|
||||
// window, khong reuse window cua channel khac (window trong voi title
|
||||
// sai plugin). Frontend hien "VST2 headless - no GUI" thay vi window.
|
||||
if (instruments.withInstrument(guiCh, [](INativeInstrument* i0) {
|
||||
return !i0 || !i0->canOpenGUI();
|
||||
})) {
|
||||
std::cerr << "[NativeBridge] GUI skip ch=" << guiCh
|
||||
<< " plugin=" << pluginId << " (headless - no editor)" << std::endl;
|
||||
return;
|
||||
}
|
||||
// Dedupe OPEN_GUI spam (frontend openVstGuiRetry): view dang
|
||||
// attached -> GUI da mo, khong post attach job lan nua. Re-attach
|
||||
// tren view dang attached lam plugin loi (Nexus createView null).
|
||||
|
||||
Reference in New Issue
Block a user