V45.42: xoa toolbar label 'VST GUI - nhung (frame-capture)' trong VstGuiEmbed (GUI hien thi thang o row, khong con header bar) + fix flash trang khi load GUI embed o tang C++: RenderFxJob.cpp them global g_fxGuiEditorReady (set sau khi editor attach thanh cong tren pump thread), FxGuiServer.cpp /frame tu choi 503 khi chua ready, tinh mean-luma trong captureHwndToJpeg de loai frame trang/den (avg <0.02 hoac >0.98), cache g_lastGood de serve frame tot cuoi thay vi frame blank khi window dang repaint. Rebuild daw_vst_bridge+fx_vst_bridge+engine+installer NSIS/MSI v=202609021810.

This commit is contained in:
2026-09-02 18:31:41 +07:00
parent 0da2a41330
commit 9f3b072be0
11 changed files with 58 additions and 23 deletions
+2 -8
View File
@@ -13380,7 +13380,7 @@ const ExportProgressModal = ({ open, exportProgress, isExporting, onClose }) =>
const boxRef = React.useRef(null);
const deadRef = React.useRef(false);
const screenRectRef = React.useRef(null);
const [dead, setDead] = React.useState(false);
const [, setDead] = React.useState(false);
const [frameLoaded, setFrameLoaded] = React.useState(false);
const post = (payload) => { try { fetch(url + '/input', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }).catch(() => {}); } catch (e) {} };
React.useEffect(() => {
@@ -13475,13 +13475,7 @@ const ExportProgressModal = ({ open, exportProgress, isExporting, onClose }) =>
};
return (
<div className="relative w-full h-full flex flex-col">
<div className="flex items-center justify-between px-3 py-1.5 bg-slate-900/80 border border-slate-800 rounded-t-lg shrink-0">
<span className="text-[10px] text-violet-300 font-mono">VST GUI — nhúng (frame-capture · ~10fps)</span>
<div className="flex items-center gap-2">
{dead && <span className="text-[9px] text-red-400 font-mono">bridge mất kết nối</span>}
</div>
</div>
<div ref={boxRef} tabIndex={0} className="flex-1 relative bg-slate-950 border border-slate-800 rounded-b-lg overflow-hidden outline-none"
<div ref={boxRef} tabIndex={0} className="flex-1 relative bg-slate-950 border border-slate-800 rounded-lg overflow-hidden outline-none"
onMouseDown={handle} onMouseUp={handle} onMouseMove={handle}
onMouseLeave={() => post({ type: 'mouseup', x: -1, y: -1, button: 0 })}
onWheel={e => { const p = pt(e); if (p) post({ type: 'wheel', x: p.x, y: p.y, deltaY: e.deltaY, rect: screenRectRef.current || undefined }); }}
File diff suppressed because one or more lines are too long