feat: native host bridge integration — C++ bridge, Rust SHM, JS routing, build scripts, docs
- native_bridge/: InstrumentEngineManager multi-channel, sample-accurate, CC/program/pitchbend, transport, Vst3Instrument stub (HAVE_VST3SDK) - src-tauri: shm.rs, bridge spawn + audio pump + health monitor, open_vst_gui, externalBin, commands - app: UnifiedMidiRouter, NativeBridgeService, bridgeAudioNode, audioRoutingEngine, Plugin Manager UI, Bridge/WASM indicator, set_position sync - build: 3 ps1 (force-added, build/ ignored), verify_bundle --check-bridge, CI workflow - docs: TASKS.md, TEST_NOTES.md (Windows verify checklist), install/report updates
This commit is contained in:
@@ -14,6 +14,11 @@ import re
|
||||
import sys
|
||||
|
||||
REQUIRED = ["app/static", "app/templates"]
|
||||
# F4: bridge sidecar phai co truoc khi tauri build (externalBin). Kiem tra tai
|
||||
# day de build fail SOM nhat (build_windows.ps1 goi verify nay truoc tauri build).
|
||||
BRIDGE_SIDECAR = os.path.join(
|
||||
"src-tauri", "binaries", "daw_vst_bridge-x86_64-pc-windows-msvc.exe"
|
||||
)
|
||||
|
||||
|
||||
def find_toc(build_dir: str) -> str:
|
||||
@@ -31,6 +36,7 @@ def find_toc(build_dir: str) -> str:
|
||||
|
||||
|
||||
def main() -> int:
|
||||
check_bridge = "--check-bridge" in sys.argv
|
||||
build_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "build"))
|
||||
toc = find_toc(build_dir)
|
||||
if not toc:
|
||||
@@ -54,6 +60,19 @@ def main() -> int:
|
||||
print(f"ERROR: Bundle thieu: {', '.join(missing)}. Kiem tra engine.spec datas!")
|
||||
return 1
|
||||
print("OK: app/static + app/templates co trong bundle.")
|
||||
# F4: bridge sidecar (externalBin) — kiem tra o repo root (khong phai trong
|
||||
# PyInstaller bundle): thieu -> tauri build se im lang bo qua bridge.
|
||||
# Chi chay khi --check-bridge (goi o buoc [7/7] build_windows.ps1 — sau
|
||||
# khi da build bridge o buoc [5/7]).
|
||||
if check_bridge:
|
||||
repo_root = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
|
||||
sidecar = os.path.join(repo_root, BRIDGE_SIDECAR)
|
||||
if not os.path.exists(sidecar):
|
||||
print(f"ERROR: Thieu bridge sidecar: {sidecar}")
|
||||
print(" Chay build/scripts/build_native_bridge.ps1 truoc, hoac")
|
||||
print(" build_windows.ps1 buoc [5/7] se build tu dong.")
|
||||
return 1
|
||||
print(f"OK: bridge sidecar co mat ({BRIDGE_SIDECAR}).")
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user