3dtours
7530738444
fix: remove overflow-hidden wrapper causing canvas width mismatch
...
Div wrapper with overflow-hidden clipped the sticky canvas right edge.
TempoTrackLane now renders like TimelineRuler — Fragment + spacer + canvas.
2026-07-25 11:16:56 +07:00
3dtours
a6a12b36a7
fix: use DOM scrollLeftVal for clip/section/MIDI rendering in WaveformLane
...
6 render positions (clip, marker, section, MIDI, note, selection) were
using React prop scrollLeft instead of DOM scrollLeftVal, causing
grid-vs-item desync during fast auto-scroll.
2026-07-25 11:12:39 +07:00
3dtours
c397545383
fix: read scrollLeft from DOM wrapper for canvas sync
...
Canvas effects now find nearest scrollable ancestor and read
scrollLeft directly, bypassing React prop latency during auto-scroll.
Applies to TempoTrackLane, WaveformLane, TimelineRuler.
2026-07-25 11:09:20 +07:00
3dtours
5bd61516aa
fix: PADDING_LEFT=0, tEnd uses CLIP_BUFFER for right buffer
...
- PADDING_LEFT=0 in all 3 components (grid aligns with clip origin)
- TempoTrackLane/WaveformLane tEnd uses CLIP_BUFFER/zoom so bars render past right edge
- TimelineRuler tEnd uses CLIP_BUFFER/zoom instead of PADDING_LEFT
2026-07-25 11:06:12 +07:00
3dtours
01cd3d1867
fix: allow item drag/resize to snap at column 0
...
- Removed Math.max(beatSec, ...) clamp from clip drag, section drag, section resize handlers
- Replaced with Math.max(0, ...) so items can snap to time 0
2026-07-25 10:59:17 +07:00
3dtours
8be4ce99e1
fix: tempo track height 40px fixed + clamp selection >= 0
...
- TempoTrackLane canvas height fixed to 40px, wrapper h-10 shrink-0 overflow-hidden
- selLeft/selRight clamped to Math.max(0, ...)
- rulerAnchorRef/setSelectionStart/setSelectionEnd clamped >= 0
2026-07-25 10:55:46 +07:00
3dtours
b410de8855
refactor: zero lead-in, split time ruler + tempo track
...
- leadInMargin=0, time 0 at left edge, only 8px PADDING_LEFT
- TimelineRuler simplified: time-only labels, 40px height
- TempoTrackLane re-added to layout below time ruler (40px)
- WaveformLane PADDING_LEFT=8/zoom, leadIn=0
2026-07-25 10:48:45 +07:00
3dtours
f299b93372
fix: sync TempoTrackLane leadIn with ruler, time labels to top
...
- Added leadInMargin prop to TempoTrackLane so time-0 aligns with ruler
- Added CLIP_BUFFER to TempoTrackLane grid rendering
- Moved TimelineRuler time labels from bottom (y=40) to top (y=11)
2026-07-25 10:41:13 +07:00
3dtours
70d1abaa7a
fix: restore time duration labels on TimelineRuler + TempoTrackLane
...
Time labels (e.g. '0.00s', '1.00s') were lost in ff44fd4 merge.
Re-added as amber/orange text at ruler bottom, dynamic interval.
2026-07-25 10:37:12 +07:00
3dtours
8372ee1b98
feat: lead-in margin, 0-indexed bars, fix bar number clipping
...
- Add 1-bar lead-in margin at timeline start (bar 0, time 0s at margin edge)
- Playhead position includes lead-in offset
- Bar numbers now 0-indexed (0, 1, 2...) in ruler and track grid
- Fix bar number clipping: CLIP_BUFFER increased from 200px to
max(400px, barWidth+200px) so bars past viewport edge render
- All mouse/time handlers account for lead-in margin (ruler, clip
drag, section drag/resize, context menu, double-click)
- formatBeat returns 0-indexed bar
- Sub-tab ruler has leadInMargin=0 (no lead-in in clip editor)
2026-07-25 10:25:30 +07:00
3dtours
ff44fd4b8d
feat: merge tempo bar + timebar into beat-based TimelineRuler
...
Replace old seconds-based ruler (0.00s, 1.00s...) and TempoTrackLane
with unified 48px canvas ruler showing bar:beat grid lines, snap
sub-ticks, and BPM label. WaveformLane grid aligns with ruler
positions — items snap to same beat grid visually.
2026-07-25 10:12:59 +07:00
3dtours
8dc57d4501
fix: sửa lỗi di chuyển items
2026-07-25 09:46:06 +07:00
3dtours
893f42c36c
fix: velocity start position + shift-scroll play on note start + canvas redraw deps
2026-07-25 08:07:49 +07:00
3dtours
8dee5c8cdb
fix: sync ruler/grid/CC lane scroll via ccWrapperRef
2026-07-25 08:01:55 +07:00
3dtours
eb805c04a4
fix: piano roll bars extend to fill viewport on zoom out
2026-07-25 07:50:53 +07:00
3dtours
46530c8896
refactor: simplify piano roll zoom - use CSS clip instead of manual grid extension
2026-07-25 07:45:06 +07:00
3dtours
b04a76ebfb
fix: piano roll zoom/scroll + AI copilot + SF cache + auto-scroll drag
2026-07-25 07:37:27 +07:00
3dtours
1c0d35f69b
fix: chỉnh sửa section item dù được lưu lại vẫn là item
2026-07-24 22:15:28 +07:00
3dtours
d262f2e778
fix: Chỉnh sửa các hành động của vẽ các note midi trong piano roll tab
2026-07-24 21:25:04 +07:00
3dtours
9a61a1f616
feat: vẽ section item canvas
2026-07-24 20:58:15 +07:00
3dtours
b9eb840b11
feat: vẽ nhanh MIDI note
2026-07-24 20:33:01 +07:00
3dtours
17a284ad17
feat: bổ sung phần section-item và section tab
2026-07-24 17:00:22 +07:00
3dtours
6a17e7036c
fix: nhãn của soundfont hiển thị sai và không load được instrument
2026-07-23 22:32:19 +07:00
3dtours
f0210dd019
fix: main session có thể play midi item
2026-07-23 20:52:50 +07:00
3dtours
dac661e6c6
fix: piano roll tab có thể play với soundfont
2026-07-23 20:34:52 +07:00
3dtours
a21266736c
fix: synth để gắn soundfont cho midi
2026-07-23 19:26:26 +07:00
3dtours
055f351a17
fix: sửa lỗi cho AI thực hiện tạo MIDI
2026-07-23 18:19:12 +07:00
3dtours
b46a2c45f2
feat: cài đặt tools cho AI thực hiện tạo MIDI
2026-07-23 17:58:44 +07:00
3dtours
0b2382573f
fix: thay đổi UX của section, piano roll
2026-07-23 16:26:16 +07:00
3dtours
b460d40824
fix: lỗi ghi note midi vào track
2026-07-23 16:07:40 +07:00
3dtours
92877d02b7
feat: bổ sung phần record MIDI
2026-07-23 11:01:22 +07:00
3dtours
0bffe2d0d9
fix: cho phép chỉnh sửa MIDI ở main session và section tab
2026-07-23 09:36:52 +07:00
3dtours
af5d20d2e5
fix: cho phép chỉnh sửa MIDI ở main session và section tab
2026-07-23 08:58:41 +07:00
3dtours
0e44e44ecb
feat: bổ sung MIDI
2026-07-23 08:32:23 +07:00
3dtours
6545e1746e
feat: bổ sung logic của phần section: thêm các items, xóa track
2026-07-22 22:03:17 +07:00
3dtours
97a53fe59a
feat: bổ sung phần section và nhấp đôi để sửa section, qui định tab vừa mở là con của item section
2026-07-22 21:36:16 +07:00
3dtours
5a80657b2b
feat: bổ sung phần menu insert items
2026-07-22 20:54:12 +07:00
3dtours
9843a33a9b
feat: bổ sung phần menu insert items
2026-07-22 20:50:07 +07:00
3dtours
78b9358539
feat: bổ sung phần menu insert
2026-07-22 20:44:07 +07:00
3dtours
f3d48e8837
feat: bổ sung phần profile của user có thể drag
2026-07-22 19:43:04 +07:00
3dtours
0155abd0da
feat: bổ sung phần profile của user
2026-07-22 18:55:25 +07:00
3dtours
9bf9f38864
feat: thêm tính năng lưu dự án bằng modal, Lưu dưới tên khác (Save As) và quản trị dự án/tệp tin trong Hồ sơ cá nhân
2026-07-22 18:42:14 +07:00
3dtours
ec178b42f3
fix: hiển thị nút tải về trên thông báo Toast cho cả Export Panel và mixdown đa kênh bất đồng bộ
2026-07-22 18:28:23 +07:00
3dtours
7136cbe904
fix: xử lý phân quyền tải file từ lệnh AI và hỗ trợ nén MP3/OGG qua API máy chủ
2026-07-22 18:23:20 +07:00
3dtours
d39b3f74ff
fix: di chuyển dspSelectionStats xuống dưới khai báo selLeft/selRight để tránh ReferenceError
2026-07-22 18:15:06 +07:00
3dtours
a8b484bd15
fix: giải quyết các lỗi về xuất track, tải cấu hình AI, tràn dropdown, click hủy chọn và làm mới bảng DSP Tools
2026-07-22 18:08:23 +07:00
3dtours
6b7872c636
fix: đồng bộ hóa trạng thái track lựa chọn thời gian thực cho chuỗi lệnh AI
2026-07-22 17:52:00 +07:00
3dtours
b9c524230d
fix: tự động dịch chuyển thanh cuộn xuống dưới cùng
2026-07-22 17:49:08 +07:00
3dtours
610c384bca
fix: copilot Multi-tool Calling)
2026-07-22 17:20:41 +07:00
3dtours
b4ec7981a6
fix: sửa copilot panel
2026-07-22 17:12:19 +07:00