fix(bridge): đồng đều âm lượng VSTi jbridge, GUI native lên top, modal instrument lọc FX

- calibrate: probe sandbox (jbridge) theo real-time pacing — child render qua SHM
  consumer-sync, probe µs-speed chỉ đo được silence/attack → makeup=1.0 mọi channel.
  Thêm virtual probeNeedsRealtime() (SandboxVst2Host → true), calibrate() Sleep
  ~1 block/5.8ms để child kịp nhận MIDI + render steady-state → makeup đo peak thật
  (3 channel Qin ≈ 2.6, trước đây = 1.0 → âm lượng đồng đều giữa các track/VSTi).
- OPEN_GUI: SetWindowPos(HWND_TOPMOST) + SetForegroundWindow + BringWindowToTop
  → GUI VSTi hiển thị ở top window, tương tác ngay.
- /api/v1/plugins/available: filter vst_instruments + extra theo is_fx của
  fx_vst_bridge --scan (trước merge entry) — modal Select Instrument chỉ còn
  soundfont + VSTi, không hiện VST FX (90 → 33).
This commit is contained in:
2026-08-21 10:18:25 +07:00
parent da7ae02509
commit d7756b08ab
6 changed files with 41 additions and 2 deletions
+1 -1
View File
@@ -464,7 +464,7 @@ class PluginManager:
plugins = self._scan_plugins()
return {
"vst_instruments": [
{"id": k, "name": k,
{"id": k, "name": k, "path": p,
"type": "VST3" if p.lower().endswith(".vst3") else "VST2",
"has_native_support": True}
for k, p in plugins.items()