Commit Graph

368 Commits

Author SHA1 Message Date
3dtours dc384b3102 fix: My Computer auto-scan không mở picker, playhead chạy tới cuối canvas 2026-08-02 18:35:02 +07:00
3dtours 0b9079632a feat: My Computer auto-load cây + Favorites thư mục 2026-08-02 18:30:19 +07:00
3dtours 9be6991222 fix: canvas audioclip hiển thị theo tỉ lệ tempo, không giãn khung 2026-08-02 18:20:48 +07:00
3dtours 0853a13f62 feat: fix canvas audio, drag&drop Media Explorer vào timeline 2026-08-02 18:10:02 +07:00
3dtours c09f994ede feat: bars MIDI đúng, synth realtime, loop preview, icons FA, lưu folder path 2026-08-02 18:01:34 +07:00
3dtours 249e2afea2 feat: canvas scroll preview, giữ state khi toggle, restore session folder/files 2026-08-02 17:47:44 +07:00
3dtours b65188fcc8 fix: canvas MIDI lần đầu + thêm Tempo control preview 2026-08-02 17:35:36 +07:00
3dtours ba5883951d fix: MIDI auto-play đọc nhầm file cũ, canvas/audio không đồng bộ 2026-08-02 17:26:35 +07:00
3dtours 7000529d8d fix: MIDI preview dừng file cũ khi click file midi khác 2026-08-02 17:18:08 +07:00
3dtours 1de6bd6b57 feat: Media Explorer persist tree width, canvas realtime, Synth instrument preview MIDI 2026-08-02 17:08:54 +07:00
3dtours c435d00897 fix: Media Explorer preview cập nhật realtime khi chọn file 2026-08-02 16:48:11 +07:00
3dtours b075a5eca7 feat: Media Explorer resize chiều rộng cây thư mục 2026-08-02 16:40:14 +07:00
3dtours 36ee2bdf90 fix: My Computer client liệt kê folder+files, điều hướng file list đúng 2026-08-02 14:53:37 +07:00
3dtours 5423686c73 feat: My Computer mở explorer client qua File System Access API 2026-08-02 14:47:54 +07:00
3dtours 4db777eb5d feat: Media Explorer duyệt toàn bộ folder và files (tree đệ quy) 2026-08-02 14:31:42 +07:00
3dtours 1989bfb105 fix: Window Explorer liệt kê ổ đĩa thật + xử lý lỗi API 2026-08-02 14:27:03 +07:00
3dtours d1995307f5 feat: Media Explorer My Computer truy cập filesystem thật 2026-07-31 13:08:54 +07:00
3dtours fdaabe3a08 feat: Media Explorer panel (F6) với mutual exclusion Mixer (F7) 2026-07-31 11:59:20 +07:00
3dtours 4b43f027ce fix: drop MIDI on existing track loads into that track 2026-07-31 10:44:22 +07:00
3dtours 3380b0e201 feat: realtime solo toggle during playback 2026-07-31 10:37:52 +07:00
3dtours 24ac703d4d fix: track VU meter stays idle when track not audible (solo/mute) 2026-07-31 10:33:14 +07:00
3dtours 3a345c3f4e fix: master strip PWR button now un-bypasses mastering when enabled 2026-07-31 10:27:16 +07:00
3dtours 86b304e173 fix: piano roll dropdown lists tracks only, not every MIDI item 2026-07-31 10:22:35 +07:00
3dtours 2bf9f8bcb8 feat: click wait-to-active note switches to editing that MIDI item 2026-07-31 10:19:39 +07:00
3dtours 99a445b789 fix: selected dim note's MIDI item wins focus over opened item 2026-07-31 10:13:49 +07:00
3dtours ee39dda5b9 feat: ctrl+click dim note selects it and focuses its MIDI item 2026-07-31 10:10:32 +07:00
3dtours be8430fbd9 revert: remove left-column MIDI item buttons (ghost note click focuses item) 2026-07-31 10:07:53 +07:00
3dtours f1b00eb060 feat: all same-track MIDI items selectable to focus in piano roll left column 2026-07-31 10:06:42 +07:00
3dtours d81afba93d feat: click note focuses its MIDI item in piano roll 2026-07-31 10:02:49 +07:00
3dtours 223254eb07 feat: per-MIDI-item focus brightness in piano roll 2026-07-31 09:59:14 +07:00
3dtours 698fa818e9 fix: focused MIDI item notes brighter than siblings 2026-07-31 09:53:17 +07:00
3dtours 60d05e2b4d feat: opened MIDI item notes darker than same-track siblings 2026-07-31 09:50:54 +07:00
3dtours eb370319cb feat: piano roll shows all same-track MIDI items notes as active 2026-07-31 09:46:55 +07:00
3dtours dfbeb24a33 feat: drag-drop MIDI file creates new tracks 2026-07-31 09:31:10 +07:00
3dtours 4f5aee6830 fix: multitrack play select plays immediately in realtime 2026-07-31 09:21:39 +07:00
3dtours 42d64f93d8 feat: piano roll loads track instrument + multi-track play select 2026-07-31 08:50:14 +07:00
3dtours 88007dce34 feat: click track name triggers realtime MIDI playback 2026-07-31 08:39:45 +07:00
3dtours 3cac617aff fix: drag-move delta relative to clicked note, not first selected 2026-07-31 08:20:15 +07:00
3dtours e1550c8ffe fix: insert noteB after noteA in split, not at end of array 2026-07-31 08:15:56 +07:00
3dtours 9c5507f7b2 feat: MIDI note duration inheritance & Ctrl+Shift+click split 2026-07-31 08:01:52 +07:00
3dtours 47e87c8363 FIX: lỗi load dự án và hiển thị mixer panel 2026-07-31 07:51:18 +07:00
3dtours 652fb98d2c fix: resolve 3 bugs - panText undefined, cloud project load, auto-restore error handling 2026-07-31 07:46:47 +07:00
3dtours 845d1594bb FIX: cho phép nhiều track cùng solo 2026-07-31 07:14:28 +07:00
3dtours bd296c63f1 FIX: lỗi hiển thị icon của các nút ở track TCP 2026-07-31 07:09:54 +07:00
3dtours 437980ea9f feat(generator): post data to parent preset form 2026-07-31 06:43:01 +07:00
3dtours bc951e75af feat(preset-manager): category dropdown + generator modal 2026-07-31 05:50:55 +07:00
3dtours b1aec24392 fix(audio): robust async buffer loading with state merging + API fallback
- Rewrite loadAudioBuffersForTracks to use functional setTracks
  preventing loss of intermediate state updates
- Add API download endpoint as fallback when static fetch fails
- Also update sessionTabs tracks with loaded buffers
- return decodeAudioFile result (audioBuffer+channelInfo) instead
  of just audioBuffer
2026-07-30 22:30:56 +07:00
3dtours be3205645f fix(audio): recover clip serverFileId from audio_file_url on project load
3 fixes for audio clips losing sound after save/reload:
1. deserializeTracksList: clip-level serverFileId falls back
   to extracting from audio_file_url when server_file_id missing
2. serializeTracksList: add server_file_id to track output
   so track-level fallback survives round-trip
3. upgrade_project_json_if_needed: include server_file_id
   in source_data during legacy project upgrade
2026-07-30 22:26:53 +07:00
3dtours 0894f97386 FIX: sửa lỗi vẽ grid sai trong PIANO ROLL GRID với snap 2026-07-30 22:14:56 +07:00
3dtours ca34a496eb fix: force piano roll grid redraw on snap change via renderTick
snapVal already in useLayoutEffect deps. Added renderTick
counter bumped in onChange to guarantee canvas redraw.
2026-07-30 21:32:45 +07:00