From 4faa5a3504483ba0e16dd4ad2a81982846d517a0 Mon Sep 17 00:00:00 2001 From: locphamtran Date: Sun, 16 Aug 2026 07:33:14 +0700 Subject: [PATCH] G2.3: auto-reload instruments from state file after bridge respawn --- 20260815-tasks.md | 3 +- install/daw_vst_bridge.exe | Bin 3852800 -> 3852800 bytes native_bridge/include/INativeInstrument.h | 4 ++ native_bridge/include/Vst3Instrument.h | 1 + native_bridge/src/Vst3Instrument.cpp | 61 ++++++++++++++++++++++ native_bridge/src/main.cpp | 57 ++++++++++++++++++++ src-tauri/src/lib.rs | 5 ++ 7 files changed, 130 insertions(+), 1 deletion(-) diff --git a/20260815-tasks.md b/20260815-tasks.md index 47a8f00..139c186 100644 --- a/20260815-tasks.md +++ b/20260815-tasks.md @@ -152,7 +152,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.3 | | | | | ⬜ | +| 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 | | | | | ⬜ | | G2.5 | | | | | ⬜ | | G2.6 | | | | | ⬜ | @@ -161,6 +161,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** (2026-08-16, Windows): tao `native_bridge/include/StateStore.h` + `native_bridge/src/StateStore.cpp` (CRLF, JSON viet tay, atomic write .tmp→rename, escape \ " , 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. 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 15b33fd8bda94fa2b4aa437eaf065ae01d045f47..4990e7ab1260c5780da7953658c77c09e53b6e72 100644 GIT binary patch delta 98925 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 delta 90272 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 diff --git a/native_bridge/include/INativeInstrument.h b/native_bridge/include/INativeInstrument.h index 65f1072..1d576dc 100644 --- a/native_bridge/include/INativeInstrument.h +++ b/native_bridge/include/INativeInstrument.h @@ -65,6 +65,10 @@ public: // call captureState() first (VST3 buffers are refreshed there). Non-VST // engines: empty. virtual std::string serializeState() const { return std::string(); } + // G2.3: replace the preset with a previously serialized one (VST3: + // base64 of [4B BE compLen][component][4B BE ctrlLen][controller]). + // Must be called after the instrument is loaded. Non-VST: no-op. + virtual void loadSerializedState(const std::string& /*base64*/) {} // G2.1: last bank/program for a MIDI channel (SF2/SF3). Others: 0. virtual uint32_t bankOf(uint32_t channel) const { return 0; } virtual uint32_t programOf(uint32_t channel) const { return 0; } diff --git a/native_bridge/include/Vst3Instrument.h b/native_bridge/include/Vst3Instrument.h index 05e9bb9..4c8f7b8 100644 --- a/native_bridge/include/Vst3Instrument.h +++ b/native_bridge/include/Vst3Instrument.h @@ -35,6 +35,7 @@ public: // G2.1: base64 of [4B BE componentLen][component][4B BE controllerLen][controller] // from the last captureState(). Empty when nothing captured. std::string serializeState() const override; + void loadSerializedState(const std::string& base64) override; void resizeView(int w, int h) override; bool hasAttachedView() const override; void closeGUI() override; diff --git a/native_bridge/src/Vst3Instrument.cpp b/native_bridge/src/Vst3Instrument.cpp index e357fcd..003f831 100644 --- a/native_bridge/src/Vst3Instrument.cpp +++ b/native_bridge/src/Vst3Instrument.cpp @@ -587,6 +587,67 @@ std::string Vst3Instrument::serializeState() const { #endif } +// G2.3: base64 decode (RFC 4648). Empty / invalid -> false. +static int b64val(unsigned char c) { + if (c >= 'A' && c <= 'Z') return c - 'A'; + if (c >= 'a' && c <= 'z') return c - 'a' + 26; + if (c >= '0' && c <= '9') return c - '0' + 52; + if (c == '+') return 62; + if (c == '/') return 63; + return -1; +} +static bool base64Decode(const std::string& in, std::vector& out) { + out.clear(); + out.reserve((in.size() / 4) * 3); + uint32_t acc = 0; + int bits = 0; + for (unsigned char ch : in) { + if (ch == '=' || ch == '\n' || ch == '\r' || ch == ' ') continue; + int v = b64val(ch); + if (v < 0) return false; + acc = (acc << 6) | (uint32_t)v; + bits += 6; + if (bits >= 8) { + bits -= 8; + out.push_back((uint8_t)((acc >> bits) & 0xFF)); + } + } + return true; +} + +// G2.3: restore a preset previously saved by serializeState() (base64 of +// [4B BE componentLen][component][4B BE controllerLen][controller]). +// Decodes into the saved-state buffers and applies them to the live instance. +void Vst3Instrument::loadSerializedState(const std::string& base64) { +#ifndef HAVE_VST3SDK + (void)base64; + return; +#else + std::vector blob; + if (!base64Decode(base64, blob) || blob.size() < 8) { + std::cerr << "[Vst3Instrument] loadSerializedState: bad base64 ch=" << channel_ << std::endl; + return; + } + auto read32 = [&blob](size_t off) -> uint32_t { + return ((uint32_t)blob[off] << 24) | ((uint32_t)blob[off + 1] << 16) | + ((uint32_t)blob[off + 2] << 8) | (uint32_t)blob[off + 3]; + }; + size_t off = 0; + uint32_t clen = read32(off); off += 4; + if (off + clen > blob.size()) { std::cerr << "[Vst3Instrument] loadSerializedState: bad compLen" << std::endl; return; } + savedComponentState_.assign(blob.begin() + off, blob.begin() + off + clen); + off += clen; + if (off + 4 > blob.size()) { std::cerr << "[Vst3Instrument] loadSerializedState: bad ctrlLen" << std::endl; return; } + uint32_t klen = read32(off); off += 4; + if (off + klen > blob.size()) { std::cerr << "[Vst3Instrument] loadSerializedState: bad ctrlLen" << std::endl; return; } + savedControllerState_.assign(blob.begin() + off, blob.begin() + off + klen); + std::cout << "[Vst3Instrument] loaded serialized state ch=" << channel_ + << " component=" << savedComponentState_.size() + << " controller=" << savedControllerState_.size() << std::endl; + restoreState(); +#endif +} + // G0.4: restore the captured state onto the freshly loaded instance. void Vst3Instrument::restoreState() { #ifndef HAVE_VST3SDK diff --git a/native_bridge/src/main.cpp b/native_bridge/src/main.cpp index 2a08b24..0a4740a 100644 --- a/native_bridge/src/main.cpp +++ b/native_bridge/src/main.cpp @@ -1045,6 +1045,63 @@ int main(int argc, char* argv[]) { std::cerr << "[NativeBridge] state save FAILED: " << stateFile << std::endl; }; + // G2.3: auto-reload instruments from the state file after a respawn. + // Runs before the audio loop: read the file once, post one LOAD job per + // saved channel to the UiThread (assign + preset restore), then resume + // transport if the session was PLAYing. Only restores channels that are + // empty (the frontend may already have loaded some by the time the state + // file becomes visible). All jobs serialize on g_loadMutex; file IO here + // is startup-only, never in the audio loop. + { + BridgeStateSnapshot snap; + if (StateStore::load(snap, stateFile)) { + std::cout << "[NativeBridge] restoring " << snap.instruments.size() + << " instruments from " << stateFile << std::endl; + for (const auto& e : snap.instruments) { + uint32_t ch = e.channel & 0xF; + if (e.path.empty() || instruments.get(ch)) continue; // guard: empty channel only + InstrumentType t = (InstrumentType)e.type; + std::string path = e.path; + std::string preset = e.presetBase64; + uint32_t bank = e.bank, program = e.program; + uiWorker.post([&instruments, t, ch, path, preset, bank, program, sampleRate, block]() { + std::lock_guard lg(g_loadMutex); + bool ok = false; + try { + ok = instruments.assign(ch, t, path, sampleRate, block); + } catch (...) { + std::cerr << "[NativeBridge] restore assign EXCEPTION ch=" << ch + << " type=" << (int)t << " path=" << path << std::endl; + ok = false; + } + if (ok) { + if (auto* inst = instruments.get(ch)) { + if (t == InstrumentType::VST3 && !preset.empty()) + inst->loadSerializedState(preset); + else + inst->selectProgram(ch, bank, program); + } + std::cout << "[NativeBridge] restored ch=" << ch + << " type=" << (int)t << " " << path << std::endl; + } else { + std::cerr << "[NativeBridge] restore FAILED ch=" << ch + << " type=" << (int)t << " " << path << std::endl; + } + }); + } + if (snap.playing) { + playheadSamples = (uint64_t)snap.playhead; + transportStopped = false; + g_transportPlaying = true; + g_stateDirty = true; + std::cout << "[NativeBridge] restoring transport PLAY playhead=" + << playheadSamples.load() << std::endl; + } + } else { + std::cout << "[NativeBridge] no state file to restore (" << stateFile << ")" << std::endl; + } + } + // 2. REAL-TIME AUDIO PROCESSING ENGINE LOOP while (true) { // CRASH FIX (0xc000041d): last-resort net — any C++ exception that diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index f2f7829..73183c2 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -173,6 +173,11 @@ fn spawn_bridge( .env("SF_PARENT_PID", std::process::id().to_string()) .env("SF_SAMPLE_RATE", sample_rate.to_string()) .env("SF_BLOCK_SIZE", "256") + // G2.3: point the bridge at the persisted state file so a + // respawn can auto-reload instruments (StateStore::defaultPath). + .env("SF_STATE_FILE", std::env::var("APPDATA") + .unwrap_or_else(|_| ".".into()) + + "/SonicForgeDAW/state/bridge_state.json") .spawn() { Ok((mut rx, child)) => {