2.4 KiB
2.4 KiB
[2026-07-25 06:57] Task: Fix Piano Roll runtime errors (rollBeats TDZ + handleCCMouseMove)
- Tóm tắt thay đổi: Sửa lỗi
Cannot access 'rollBeats' before initializationbằng cách di chuyển khai báorollBeats/rollBeatsReflên trướctotalBeats. Thêm hàmhandleCCMouseMovebị thiếu và cập nhậthandleCCMouseDownhỗ trợ Ctrl+Click paint velocity. - Các file ảnh hưởng:
app/static/js/app.jsx,app/static/js/app.precompiled.js - Ghi chú/Test (nếu có):
cd /home/locpham/SonicForgeStudio && npm run build— build passes.
[2026-07-25 07:25] Task: 4 tính năng mới (Piano Roll zoom fill + Shift+scroll playhead + auto-scroll drag + SoundFont cache)
- Tóm tắt thay đổi: (1) Piano Roll zoom-out không còn màn hình đen — bars fill toàn bộ viewport. (2) Shift+scroll trong Piano Roll di chuyển playhead và play notes MIDI như fast-forward. (3) Khi drag section/MIDI/clip đến cạnh phải timeline, auto-scroll container. (4) Server-side cache FluidSynth instances + PluginManager singleton + list_soundfont_instruments cache.
- Các file ảnh hưởng:
app/static/js/app.jsx,app/core/vst_engine.py - Ghi chú/Test (nếu có):
npm run buildpass.vst_engine.pythêmload_soundfont_cached,release_soundfont,get_plugin_manager,_SF_INSTRUMENTS_CACHE— refcount-based cache.
[2026-07-25 07:31] Task: Fix zoom cursor + right edge black + AI Copilot for Piano Roll
- Tóm tắt thay đổi: (1) Tách
drawWidth(content) vàcssWidth(CSS) — canvas coordinate system không còn bị sai khi zoom out. (2) Thêmmin-widthfill viewport, không còn mảng đen phải. (3) Thêm AI Copilot input + handler trong Piano Roll — gõ prompt tạo MIDI notes trực tiếp. - Các file ảnh hưởng:
app/static/js/app.jsx - Ghi chú/Test (nếu có):
npm run buildpass.
[2026-07-25 08:08] Task: Fix velocity draw position, shift+scroll play, canvas redraw deps
- Tóm tắt thay đổi: (1) CC lane velocity stem vẽ tại start note thay vì center. (2) Shift+scroll chỉ play note khi playhead vượt qua start_beat. (3) Thêm
viewWidth/viewBeatsvào dependency array grid canvas + CC canvas để auto-redraw khi resize/zoom. - Các file ảnh hưởng:
app/static/js/app.jsx,app/static/js/app.precompiled.js - Ghi chú/Test (nếu có):
npm run buildpass.