3dtours
5ed6acd4f5
fix: piano roll snap values inverted in getSnapBeat/getSnapDuration/grid
...
snap='1' gave q=4.0 (4-beat snap). Fix all 3 mappings:
grid lines, note snap, default duration.
2026-07-30 21:08:56 +07:00
3dtours
6c227fe6af
fix: draw clip rect/label always, skip only waveform when buffer null
...
- clip rect + label + markers drawn even without buffer
- shows '(audio chưa được tải)' for unloaded clips
- deserialize restores clip duration from duration_bars
2026-07-30 21:05:33 +07:00
3dtours
7b8e10419f
fix: snap default '1' + Power button reads masterConnected directly
...
- snapValue default '1' (was 'free'), piano roll snapVal default '1' (was '1/16')
- Power button: remove shared isFxActive, use masteringSettings.masterConnected
2026-07-30 20:59:29 +07:00
3dtours
872ecabf85
IMPROVE: cho phép lưu dự án và phục hồi dự án vừa tắt, tạo crontab để tự động sao lưu sau mỗi 5 phút
2026-07-30 20:58:54 +07:00
3dtours
4005088e89
fix: audio clip items lost after reload — missing serverFileId on clip/track
...
- set serverFileId on clip + track when upload succeeds
- serialize/deserialize server_file_id in source_data
- guard clip.buffer null in WaveformLane canvas draw
2026-07-30 20:54:23 +07:00
3dtours
9c487614f1
feat: auto-save 5min + backup 30min + backup management UI
...
- project_backups table + DB migration
- Backup CRUD API endpoints with auto cleanup (5-20 retention)
- setInterval 5min save + 30min backup in browser
- ProfileModal: backup list, delete, retention slider, cleanup button
2026-07-30 20:48:45 +07:00
3dtours
58a294d845
IMPROVE: cho phép lưu dự án và phục hồi dự án vừa tắt
2026-07-30 20:47:44 +07:00
3dtours
313d1be5af
fix: loadAudioBuffersForTracks scoped in ProfileModal crashes project load
...
Move fn to App component scope, pass as prop to ProfileModal.
restoreLastSessionProject now has access on startup.
2026-07-30 20:40:25 +07:00
3dtours
3386a2b4c2
feat: add structured preset button in AI Preset Manager
...
Add handleNewStructured fn + emerald button left of Quay lại
pre-fills form with comprehensive Vietnamese template sections
2026-07-30 20:33:22 +07:00
3dtours
64f43cd5ad
IMPROVE: cho phép thay đổi instrument realtime khi đang playback
2026-07-30 17:32:57 +07:00
3dtours
2fb70e2e11
IMPROVE: drag và drop file midi vào dự án
2026-07-30 17:32:16 +07:00
3dtours
546ad3dd23
FIX: sửa lỗi vị trí con trỏ pos khi parse MIDI MThd header
2026-07-30 17:28:23 +07:00
3dtours
402cac56a3
FIX: sửa lỗi parse file midi có track hoặc chunk phụ trợ
2026-07-30 17:21:42 +07:00
3dtours
1de69b8f4e
IMPROVE: bật tắt ARM, MIC trên track strip, double click lên nút balance, volume
2026-07-30 17:04:13 +07:00
3dtours
a9be38b76f
IMPROVE: hướng dẫn AI tạo nhạc đầy đủ số bars và tracks theo yêu cầu
2026-07-30 16:39:28 +07:00
3dtours
938c8d7f87
FIX: sửa lỗi fluidsynth error khi toggle percussion kit
2026-07-30 16:25:09 +07:00
3dtours
15193b13a7
FIX: sửa lỗi undo khi move items, lỗi undo khi duplication item
2026-07-30 16:19:47 +07:00
3dtours
4db3e3484a
FIX: sửa lỗi cnnot move items
2026-07-30 16:11:31 +07:00
3dtours
f0479dc3d8
FIX: sửa lỗi Uncaught ReferenceError: stopPreviewNote is not defined
2026-07-30 15:56:09 +07:00
3dtours
7836cfcc76
FIX: chỉnh sửa hoàn thành UX/UI master strip
2026-07-30 15:38:25 +07:00
3dtours
19f02a5a49
FIX: chỉnh sửa UX volume của master strip
2026-07-30 15:22:47 +07:00
3dtours
dc7ec3af4c
FIX: chỉnh sửa UI volume của master strip
2026-07-30 15:19:41 +07:00
3dtours
c073ca7a49
FIX: chỉnh sửa UI của master strip
2026-07-30 15:04:03 +07:00
3dtours
9f6f9763c1
FIX: chỉnh sửa UI của mixer panel
2026-07-30 15:01:52 +07:00
3dtours
bbd06f23d5
FEAT: thay đổi UI của mixer panel
2026-07-30 14:52:57 +07:00
3dtours
b67c0264fb
feat(mixer): Master + Track Strip Console per specs 47/48
2026-07-30 12:55:35 +07:00
3dtours
74597cfe8b
feat(mixer): install Master Strip Console per spec 47
2026-07-30 12:47:10 +07:00
3dtours
0c1a27ef2c
FIX: sửa PIANO ROLL TAB khi vẽ draw note midi phải play các note được vẽ
2026-07-30 11:38:36 +07:00
3dtours
eb61015cff
FIX: sửa MASTERING PANEL thay đổi knob thì thay đổi các thông số hiển thị
2026-07-30 11:18:35 +07:00
3dtours
6e1f116658
FIX: sửa MASTERING PANEL có tác dụng với mainout
2026-07-30 11:06:31 +07:00
3dtours
2c55db372a
FIX: sửa volume main out
2026-07-30 10:05:11 +07:00
3dtours
e64070a83e
FEAT: cài đặt tính năng cho volume main out
2026-07-30 09:34:36 +07:00
3dtours
66eef405a7
FIX: tăng velocity thêm tính năng midi key khác sử dụng cho midi note
2026-07-29 22:34:05 +07:00
3dtours
971dad84e7
FEAT: thêm tính năng midi key khác sử dụng cho midi note
2026-07-29 22:25:21 +07:00
3dtours
4cead1010e
FEAT: thêm tính năng hiển thị ở master track
2026-07-29 22:13:54 +07:00
3dtours
7b5d4bf27a
FEAT: thêm tính năng MasteringModules Modal
2026-07-29 22:03:20 +07:00
3dtours
47af85c072
FIX: sửa UNDO/REDO bị lỗi màn hình đen
2026-07-29 18:19:02 +07:00
3dtours
d4ad3bc1f7
feat: add comprehensive Ctrl-Z/Ctrl-Y undo/redo engine for MAIN SESSION and SECTION-TAB
2026-07-29 16:05:43 +07:00
3dtours
f721b8242f
FIX: sửa nút Synth cho phép thay đổi instrument cho nhiều track
2026-07-29 12:17:26 +07:00
3dtours
a1767e338a
fix: Select Instrument stays open after picking instrument
...
Remove setInstrumentSelectorTrackId(null) from
setTrackInstrumentWithProgram. Modal stays open so user can
switch tracks and assign instruments without reopening.
2026-07-29 11:56:26 +07:00
3dtours
8051cf3edb
fix: add missing aiTypeaheadRef definition
2026-07-29 11:52:49 +07:00
3dtours
35e767795a
fix: Synth button opens modal with inline track selector
...
Remove external track dropdown. Add select dropdown inside the
instrument selector modal between title and search box. Users
can switch tracks without closing the modal.
2026-07-29 11:52:12 +07:00
3dtours
7bfdd72850
feat: Synth button shows track dropdown for quick instrument assign
...
Synth button opens a dropdown listing all tracks instead of opening
the modal directly. Selecting a track opens the instrument selector
for that track. No need to close modal and click each track's Synth.
2026-07-29 11:49:34 +07:00
3dtours
30ce0eb306
FIX: sửa lỗi không tự động cập nhật AI Suggestion
2026-07-29 11:47:30 +07:00
3dtours
41b5a70a60
fix: AI SUGGEST auto-updates after saving preset in manager
...
Add aiPresetVersion counter. Increment on modal close. AI panel
compares version and calls loadPresets() to sync from localStorage.
2026-07-29 11:45:31 +07:00
3dtours
fa7917cf54
FIX: sửa lỗi không tự động load instrument
2026-07-29 11:37:46 +07:00
3dtours
a3e681afc0
fix: re-fetch instrument data after login for new machines
...
Auth success handler now eagerly loads instrumentSelectorData
via listPlugins + getSoundfontCatalog. The mount-time useEffect
runs before auth token is set, so it silently fails on new machines.
2026-07-29 11:34:50 +07:00
3dtours
8775c960e3
fix: seed_admin() no longer resets admin password on restart
...
Remove hash verification + password reset logic. seed_admin() now
only creates the admin account if it does not exist. Prevents
password being reset to default + must_change_password flag
being set on every server restart.
2026-07-29 11:28:49 +07:00
3dtours
33e35a1af1
FIX: sửa lỗi drag group items
2026-07-29 11:14:22 +07:00
3dtours
d4262acb9f
fix: rewrite drag handler with stable crossOffset + outTracks merge
2026-07-29 11:13:31 +07:00