admin
fa01ef02f7
V25: fix wobble khi play - re-buffer FILL sau flush (het loop underrun-flush)
2026-08-26 21:37:06 +07:00
admin
f38e500326
V24: fix master-chain crackle, 1s lag, solo bypass
...
- worklet: FILL 48->24 (PDC 7936 dung), flush protocol khi resume sau interruption
(clear queue + fade-in/crossfade chi voi block moi), drop block stale
- engine fx_realtime: _flush_input_locked NO-DROP (ring day -> giu pending, cap 2048),
flush_all() dong bo in/out khi worklet resume
- app.jsx: WS flush_done + flushing guard, fallback timer 500ms
- plugins.py: xu ly {cmd:flush} -> flush_done
- index.html: bump v param
2026-08-26 20:15:13 +07:00
admin
28a06134f9
V23: fix crackle master FX - underrun fade-out tu mau cuoi + crossfade 64 mau o cap-drop/resume
2026-08-26 19:45:36 +07:00
admin
2e996af102
fix(cc11): unmute realtime dung effective list thay vi ref stale
2026-08-26 18:40:15 +07:00
admin
b95c63e7db
V21: keep master FX session warm on user stop - no 4s VST reload on replay
...
- stopAllPlayback(fade=true) giữ master FX session (không teardown) → play
kế tiếp FX xử lý ngay, hết cửa sổ dry ~4s khi reload VST
- per-track FX vẫn teardown khi user stop (VSTi nhiều track nặng CPU)
- idle timeout 120s (FX_RT_WARM_IDLE_MS): ngừng chơi lâu → teardown giải
phóng CPU/VST
- fxRtStart/fxRtStop/startSubTabPlayback hủy idle timer khi play
2026-08-26 18:31:25 +07:00
admin
3e6080603c
v20: fix CC11 piano roll (epoch check _cc11Epoch - v19 con so _nativePlayEpoch) + SF program change khi play piano roll (bridge)
2026-08-26 18:18:20 +07:00
admin
1f78a834a8
v19: fix CC11 piano roll (epoch rieng cho CC11 timers) + Synth/GUI piano roll cho section subtrack
2026-08-26 18:07:26 +07:00
admin
e53a31b525
v18: CC11 expression realtime khi play main timeline + section subTrack + local loop (dong bo voi export native_render)
2026-08-26 17:46:44 +07:00
admin
02ebf41e97
v17: Select Instrument modal highlight instrument dang load (SF preset + VST)
2026-08-26 17:17:21 +07:00
admin
a0f5f98209
v16b: revert EXPRESSION_CC 7 -> 11 (test CC7 xong, ve CC11 expression)
2026-08-26 17:04:31 +07:00
admin
0e555114f8
v16: persist cc11_global_curve qua save/load (item + sub_tabs) + commitCC11Curve dong bo subTab st.notes (CC11 realtime khi Play)
2026-08-26 16:58:44 +07:00
admin
24109f8bc4
v15b: fix CC7 to VSTi (legacy tag kHostMidiCC+cc + volume-param fallback), CC lane grid + 0/+- labels
2026-08-26 16:45:42 +07:00
admin
e54dec4010
Fix: persist expression_curve qua project save/load; TEST CC7 thay CC11
2026-08-26 16:29:54 +07:00
admin
f10f9873e9
Fix: carry expression_curve qua native track render + cache key
2026-08-26 16:20:53 +07:00
admin
5689536fb1
CC11: global curve from first to last note, manual node add/drag/remove
2026-08-26 16:15:47 +07:00
admin
56235623cd
v13: CC11 default dashed lien tuc tu note dau den note cuoi (khong per-note); node tao tren dashed
2026-08-26 16:06:08 +07:00
admin
e6b5e7f4d7
v12: CC11 default = flat bar at default automation pos (no auto nodes); click add node, drag move, right-click remove
2026-08-26 13:02:58 +07:00
admin
fd50d99250
v11: fix CC11 lane sync - engine serve precompiled stale; click=add node, drag=move, right-click=remove; shared mode when no selection
2026-08-26 12:48:39 +07:00
admin
b63e5b21d6
fix(cc11): replace auto-select (khong accumulate) + prefer selected note khi click lane (chord) + bump cache-buster v-param
2026-08-26 12:01:21 +07:00
admin
dd17f87e4e
fix(bounce): offline render qua native bridge — bỏ gap realtime, thêm headroom, strip DIAG
2026-08-25 09:11:29 +07:00
admin
4037dbf40d
fix(bounce): declare _lastDiag — second ReferenceError in BridgeAudioNode
2026-08-25 08:51:46 +07:00
admin
ea3de8b53c
fix(bounce): declare _frames/_peak in BridgeAudioNode — ReferenceError killed audio sink
2026-08-25 08:42:52 +07:00
admin
cd63ae1901
debug(bounce): capture AUDIO_CB_ERR + BRIDGE_AUDIO_ENTER to find silent onAudio failure
2026-08-25 08:40:48 +07:00
admin
662383e538
debug(bounce): EVT_REG/BRIDGE_EVT_RX/WI_QUERY diag + fix PUSH_SENT typo
2026-08-25 08:11:02 +07:00
admin
8ef1935068
fix(midi): prefix _pushEnter/_pushSent/_pushOk/_pushFail with this. — ReferenceError blocked dispatchMidiEvent (v=202608250116)
2026-08-25 07:58:14 +07:00
admin
388da8b380
fix(midi): _pushEvt -> this._pushEvt — ReferenceError killed pushEvent before PUSH_ROUTE; ?v=202608250054
2026-08-25 07:55:11 +07:00
admin
109a8f5c5b
debug(midi): PUSH_CALL fingerprint + PUSH_EXC + ?v=202608250051 — isolate stale-JS vs pushEvent break
2026-08-25 07:52:59 +07:00
admin
60d1eee107
debug(midi): diag PUSH_ROUTE/PUSH_ENTER — pin pushEvent->dispatchMidiEvent break point
2026-08-25 07:36:20 +07:00
admin
a00c57d44f
fix(ui): black screen — isExportingRef.current = isExporting dat truoc khai bao isExporting (TDZ ReferenceError moi render); bo sync, bounce set true/false tuong minh
2026-08-25 07:31:34 +07:00
admin
fb59184dd2
fix(bounce): guardPlay drop het note-on — isPlayingRef bi render ghi de =false khi bounce setState; them isExportingRef vao guardPlay (bounce = dang phat that) + TMR_FIRE diag
2026-08-25 07:28:37 +07:00
admin
51891ac8b9
debug: HB heartbeat 250ms + DISPATCH_ON truoc pushEvent + PUSH_SENT/PUSH_MIDI_TIMEOUT (race 800ms) cho bounce silent — phan biet main-thread block vs Rust hang
2026-08-25 07:23:59 +07:00
admin
f8a500c050
debug: diag PUSH_MIDI ok/fail cho push_midi_event (nghi midi queue full — bridge khong nhan note trong bounce)
2026-08-25 07:05:41 +07:00
admin
f741e1e1f1
debug: DIAG bang overlay textarea co nut Copy thay cho window.alert (text khong copy duoc)
2026-08-25 07:01:38 +07:00
admin
ba7c03ca5e
fix: bounce silent — AudioRoutingEngine no longer full-tears-down sink on dest change
...
stopAllPlayback->updateSfRouting->startTrackPlayback reroutes bridge sink
twice during bounce; each dest change previously called this.disconnect()
= BridgeAudioNode teardown + async worklet reload, audio swallowed into
_preBuffer (bounded 64 blocks) forever if worklet never reactivates ->
silent WAV (only old reverb tail). Fix: rely on BridgeAudioNode.connect()
re-pointing _gainNode (already handles dest switch without teardown);
init() only when not ready. Add __sfDiag ROUTE + BRIDGE_AUDIO (frames/
peak/path per sec) to verify at bounce end.
2026-08-24 22:02:31 +07:00
admin
9cd6113086
debug: diag logs cho bounce silent — router/native path
2026-08-24 21:42:49 +07:00
admin
bf98038572
fix(bridge): soundfont track khong co trong thu vien (sf_generaluser_gs) fallback sang GM font co san -> bounce ra du track, het cam
2026-08-24 21:13:53 +07:00
admin
74bd6d849b
fix(export): offline render tu tai file ve exportDir sau khi hoan thanh
...
renderMasteringExport truoc day chi hien toast 'Tai ve' (phai click) ->
user tuong khong co file. Gio tu fetch res.url -> saveExportViaDialog
(ghi thang vao exportDir da chon hoac save-dialog), toast kem path.
2026-08-24 20:54:50 +07:00
admin
4b643883ff
fix(export): offline render dong export panel + hien progress timeline
...
renderMasteringExport khong tu dong export panel/progress (chi bounce cu
lam). triggerWavExport: nhanh offline render -> setShowExportPanel(false),
setShowExportProgress(true), setExportProgress(-1) truoc khi goi, reset
progress trong finally.
2026-08-24 20:51:13 +07:00
admin
1061a36626
fix(export): MIDI project WAV export qua server offline render thay vi bounce realtime
...
Bounce REALTIME race (note-on drop sau STOP / channel reload / watchdog
recovery) ra file chi 1 note roi cam hoac cam han. Offline render server
deterministic da xac nhan ra nhac day du (42.67s RMS ~0.24 moi giay).
triggerWavExport: project co MIDI + source=project + format=wav -> goi
renderMasteringExport (server /api/v1/plugins/render) thay vi bounce.
Bounce chi la fallback khi server disconnected va cache MIDI khong du.
2026-08-24 20:32:19 +07:00
admin
141fa4a141
fix(export): scale TPDF dither to 1 LSB — full-scale noise made bounce exports sound like white noise
2026-08-24 20:17:24 +07:00
admin
2b7c7cef2c
Fix export WAV khong mo duoc: default 32-bit float -> PCM 16 (client + server render + plugins.py)
2026-08-24 19:58:44 +07:00
admin
5b747606c7
Rebrand SonicForge Studio -> ScoreFX Studio: UI names, About logo, favicon + icons for all exe builds
2026-08-24 19:28:22 +07:00
admin
2bcc8369a5
fix(export): MIDI offline khong co am thanh - cache preview cam/khong du -> tu chuyen sang bounce REALTIME (capture masterBus.output) thay vi xuat file cam
2026-08-24 18:59:22 +07:00
admin
8639529ecd
fix(export): offline export nhan MIDI-only tracks qua midi cache - filter khong loai track khong co buffer
2026-08-24 18:51:14 +07:00
admin
43b68200aa
feat(export): modal tien trinh export rieng (khong dung statusbar) - dong modal settings ngay khi bam Export + bao loi that khi khong ghi duoc file
2026-08-24 18:43:50 +07:00
admin
8c972c3df2
fix(export): tu dong dong modal khi hoan tat + throttle setProgress 150ms (toc do export) + dong modal path server
2026-08-24 18:35:24 +07:00
admin
14f8340fdf
fix(export): progress bar hien thi duoc - footer ngoai vung scroll + encode chunked yield + yield frame dau
2026-08-24 18:31:28 +07:00
admin
fefe95d0a9
feat(export): stop transport khi export offline + check file export khong cam (peak < -60dB -> canh bao)
2026-08-24 18:26:52 +07:00
admin
edbb477657
feat(export): thanh tien do offline export (render track VST -> encode -> save) trong ExportModal
2026-08-24 18:24:42 +07:00
admin
993afb9ee4
feat(export): modal chi 2 nut Export/Huy + option Realtime, Bounce MIDI chuyen vao menu File, bo auto-bounce offline
2026-08-24 18:19:11 +07:00