From d31312e8246d1a2bf7f205ff5211ddd60bc35d32 Mon Sep 17 00:00:00 2001 From: locphamtran Date: Sun, 16 Aug 2026 07:52:01 +0700 Subject: [PATCH] G2.2: flush bridge state to disk before kill (control type=5 DUMP + Rust pre-kill) --- 20260815-tasks.md | 3 ++- install/daw_vst_bridge.exe | Bin 3852800 -> 3852800 bytes native_bridge/src/main.cpp | 3 +++ src-tauri/src/lib.rs | 18 ++++++++++++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/20260815-tasks.md b/20260815-tasks.md index 30f84e9..835d733 100644 --- a/20260815-tasks.md +++ b/20260815-tasks.md @@ -151,7 +151,7 @@ Lý do: G2.2 phụ thuộc G2.1 nhưng giá trị thấp hơn G2.3; làm G2.3 s |---|---|---|---|---|---| | G2.0 | StateStore.h/.cpp (JSON thủ công, atomic tmp+rename, UTF-8, API save/load/clear, defaultPath=%APPDATA%/SonicForgeDAW/state/bridge_state.json); them vao CMakeLists target daw_vst_bridge; test_state_store.cpp (round-trip self-check) | Build PASS (daw_vst_bridge.exe), round-trip PASS (save/load 2 inst: path Windows co space+backslash, presetBase64 co newline/quote/backslash; khong con .tmp; clear xoa file) | — (module moi, chua hook vao bridge) | — | ✅ (Win xong) | | G2.1 | main.cpp: globals g_stateDirty/g_transportPlaying/g_lastSnapMutex/g_lastSnap, snapshotsEqual (bo playhead); stateFile = SF_STATE_FILE fallback defaultPath; playheadSamples -> std::atomic; saveStateJob (UiThread, skip khi isReloading, chi save khi snapshot doi); TRANSPORT set g_transportPlaying + dirty; cuoi LOAD dirty=true; periodic 2s dirty + debounce 300ms. Vst3Instrument.h: khai bao bankOf/programOf. StateStore.cpp: ensureParentDir() (CreateDirectoryA chain / mkdir) goi dau save(). | Build PASS (daw_vst_bridge.exe). Deploy PASS (PID moi: sonicforge-daw 9876, daw_engine 24632, daw_vst_bridge 7352). Verify live PASS: LOAD Nexus ch5 + PLAY -> bridge_state.json co 7 instrument (ch0-6 frontend da load), playing=true, presetBase64 non-empty (Nexus 3468/3488, EZkeys 24764); STOP -> playing=false. State round-trip test_state_store.cpp PASS. | test script ban dau ky vong dung 1 instrument (frontend da load 7) -> FAIL gia, chuc nang PASS | assert dung so instrument | ✅ (Win xong) | -| G2.2 | | | | | ⬜ | +| G2.2 | main.cpp: control type=5 DUMP_STATE (post saveStateJob len uiWorker ngay lap tuc). lib.rs: flush_bridge_state() — push_control(5,0,0,0) + sleep 300ms, goi dau kill_bridge() (cover restart_bridge_with_sample_rate + stall-restart) va truoc khi giet bridge trong window-close Destroyed | Build PASS (daw_vst_bridge.exe) + cargo check PASS (src-tauri) + deploy + verify live PASS: DUMP qua SHM -> log "DUMP_STATE - flushing state now", state file intact (7 inst), writeIndex advancing | Runtime Rust flush chua test duoc khi khong build app Tauri (cargo check xac nhan compile) | | ✅ | | G2.3 | main.cpp: startup restore block (doc SF_STATE_FILE, guard channel trong, post LOAD job tung channel qua uiWorker, assign + loadSerializedState preset / selectProgram bank-program, g_loadMutex serialize, restore transport PLAY + playhead neu state playing). Vst3Instrument: base64Decode + loadSerializedState (parse [4B BE compLen][comp][4B BE ctrlLen][ctrl], goi restoreState). INativeInstrument.h: virtual loadSerializedState no-op. lib.rs: spawn_bridge set env SF_STATE_FILE = %APPDATA%/SonicForgeDAW/state/bridge_state.json. | Build PASS (bridge + cargo check). Deploy PASS. Verify live PASS: LOAD ch5 + PLAY (playhead 5000) -> kill bridge -> respawn -> log "restoring 7 instruments" + "restored ch=0..6" (Nexus + EZkeys) + "restoring transport PLAY playhead=5000" + ch5 preset 3488B giu nguyen; state file playing=true playhead=5000 inst=7; writeIndex advancing (14859->15234). | - | - | ✅ (Win xong) | | G2.4 | main.cpp: LOAD case double-load guard — skip khi channel da co cung path (lower_plugin_path(ch) == lower_path_str(path)), giu instance + preset da restore khi JS reload sau respawn/bootstrap | Verify live PASS: LOAD lai Nexus ch5 sau respawn -> log "LOAD skip ch=5 (already loaded)", preset ch5 3488B giu nguyen, writeIndex advancing; 15 LOAD skip trong log (JS reload 7ch x2 + test) | Khong can sua JS: loadVstToBridge/loadTrackInstrumentToBridge khong co guard __bridgePlaying (da chay khi PLAY); chi openVstGuiRetry giu guard OPEN_GUI (G0.2, dung) | | ✅ | | G2.5 | | | | | ⬜ | @@ -162,6 +162,7 @@ Lý do: G2.2 phụ thuộc G2.1 nhưng giá trị thấp hơn G2.3; làm G2.3 s , load parser an toan). Them StateStore.cpp vao CMakeLists target daw_vst_bridge. Build bridge PASS. Test round-trip `native_bridge/debug/test_state_store.cpp` PASS (compile cl vcvars64 + chay). Commit `G2.0: StateStore (JSON state file + atomic write)`. - **G2.1** (2026-08-16, Windows): save day du state ra disk. main.cpp: globals + snapshotsEqual + stateFile env fallback + playheadSamples atomic + saveStateJob (UiThread, skip isReloading, chi ghi khi snapshot doi) + hook TRANSPORT/LOAD + periodic 2s dirty debounce 300ms. Them khai bao bankOf/programOf vao Vst3Instrument.h (thieu declaration -> build fail). StateStore.cpp: ensureParentDir() (CreateDirectoryA chain, Linux mkdir) goi dau save() (fix C2001 do heredoc backslash mangle qua script fix_bs.py). Build PASS. Deploy PASS (PID 9876/24632/7352). Verify live PASS: LOAD Nexus ch5 + PLAY -> state file 7 inst + playing=true + presetBase64 day du; STOP -> playing=false. StateStore round-trip test PASS. Commit `G2.1: save full instrument state to disk (path/type/preset/transport)`. - **G2.3** (2026-08-16, Windows): auto-reload sau respawn. +- **G2.2** (2026-08-16, Windows): dump state truoc kill. main.cpp: them control type=5 DUMP_STATE sau case 4 — post saveStateJob len uiWorker ngay (khong cho debounce 300ms/2s), log "DUMP_STATE - flushing state now". lib.rs: them flush_bridge_state(app) — shm.push_control(5,0,0,0,"") roi sleep 300ms (du thoi gian UiThread ghi xong file); goi o dau kill_bridge() (cover ca restart_bridge_with_sample_rate va stall-restart) va trong on_window_event Destroyed truoc khi kill_process_tree(bridge). Build PASS (daw_vst_bridge.exe) + cargo check PASS (src-tauri). Deploy + verify live PASS: push DUMP qua SHM driver -> log "DUMP_STATE - flushing state now" xuat hien, state file intact (7 inst, playing=false), writeIndex advancing. Ghi chu: nhanh Rust flush chi cargo check (khong build app Tauri) — logic don gian, compile OK. Commit `G2.2: flush bridge state to disk before kill (control type=5 DUMP + Rust pre-kill)`. - **G2.4** (2026-08-16, Windows): go double-load khi JS reload sau respawn. main.cpp: them guard dau LOAD case (truoc setReloading) — neu channel da co cung path (so sanh lower_plugin_path(ch) vs lower_path_str(path)) thi log "LOAD skip ch=N (already loaded)" va return, khong assign lai (thay instance se mat preset da restore tu state file). Ly do: JS reconnect/bootstrap reload gui LOAD cung path sau respawn -> truoc day assign() thay instance -> mat preset. Guard PLAY cua G2.4 (cho restore chay khi PLAY) da co san o JS: loadVstToBridge/loadTrackInstrumentToBridge khong co guard __bridgePlaying, chi openVstGuiRetry giu guard OPEN_GUI (G0.2 — defer GUI khi PLAY van dung). Build PASS (daw_vst_bridge.exe) + deploy + verify live PASS: sau respawn, LOAD lai Nexus ch5 -> "LOAD skip ch=5 (already loaded: ...Nexus.vst3)", preset 3488B giu nguyen, writeIndex advancing; tong 15 LOAD skip (JS reload 7ch x2 + test ch5). Commit `G2.4: skip redundant LOAD of already-loaded instrument (keep restored preset)`. main.cpp: block restore truoc audio loop - doc state file, chi restore channel trong (guard instruments.get(ch)==nullptr), post LOAD job (assign + loadSerializedState / selectProgram) serialize bang g_loadMutex, neu state playing thi set playhead + g_transportPlaying=true + g_stateDirty. Vst3Instrument.cpp: base64Decode (b64val lookup) + loadSerializedState (parse blob, goi restoreState); Vst3Instrument.h + INativeInstrument.h: khai bao. lib.rs: spawn_bridge them env SF_STATE_FILE (fallback StateStore::defaultPath khi khong set). Build PASS (daw_vst_bridge.exe + cargo check). Deploy + verify live PASS: LOAD ch5 + PLAY playhead 5000 -> taskkill bridge -> respawn tu dong -> log restore 7 inst (Nexus ch0-5, EZkeys ch6) + restore transport PLAY playhead=5000 + ch5 preset 3488B giu nguyen; state file playing=true inst=7; writeIndex advancing. Commit `G2.3: auto-reload instruments from state file after bridge respawn`. --- diff --git a/install/daw_vst_bridge.exe b/install/daw_vst_bridge.exe index 5ea26e4bccb704204b441a2ce68327cdf5db0c43..cfce577f9bff17219631489a6dd2a69246e9fdd2 100644 GIT binary patch delta 72102 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 delta 71016 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℞fcz(KI!lrzYxH)U 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 diff --git a/native_bridge/src/main.cpp b/native_bridge/src/main.cpp index a3ab034..2cf8781 100644 --- a/native_bridge/src/main.cpp +++ b/native_bridge/src/main.cpp @@ -1289,6 +1289,9 @@ int main(int argc, char* argv[]) { uint32_t guiCh = c.channel; if (guiCh >= 16) guiCh = 0; handleOpenGui(guiCh, (uintptr_t)c.arg1, std::string(c.arg2)); + } else if (c.type == 5) { // DUMP_STATE (G2.2): Rust pre-kill flush + std::cout << "[NativeBridge] DUMP_STATE - flushing state now" << std::endl; + uiWorker.post([&]() { saveStateJob(); }); } } shmIPC->controlQueueCount = 0; diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 73183c2..8fcb48c 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -44,10 +44,26 @@ fn set_bridge_child(app: &AppHandle, child: Option) { } } +/// G2.2: ask the bridge to flush its state file NOW (control type=5 +/// DUMP_STATE), then give the UiThread save job ~300ms to finish before +/// the process is killed. Harmless when the bridge is already hung (SHM +/// is owned by Rust; the control is simply never consumed). +fn flush_bridge_state(app: &AppHandle) { + if let Some(state) = app.try_state::() { + if let Ok(guard) = state.0.lock() { + if let Some(shm) = guard.as_ref() { + let _ = shm.push_control(5, 0, 0, 0, ""); + } + } + } + std::thread::sleep(std::time::Duration::from_millis(300)); +} + /// Kill the currently managed bridge child (if any) — a restart MUST never /// leave the old bridge running, else two daw_vst_bridge.exe race on the same /// SHM (double instrument load, double OPEN_GUI, garbled control queue). fn kill_bridge(app: &AppHandle) -> bool { + flush_bridge_state(app); let state = app.state::(); let mut guard = match state.0.lock() { Ok(g) => g, @@ -530,6 +546,8 @@ pub fn run() { let _ = child.kill(); println!("daw_engine sidecar terminated."); } + // G2.2: flush state to disk before killing the bridge + flush_bridge_state(window.app_handle()); // Terminate Native Host Bridge khi DAW window dong let bridge_child = window .state::()