Xiaohan-Tian
|
7fc5ac1590
|
feat: added tempo detection with auto-align beats feature
|
2026-05-26 22:45:54 -07:00 |
|
Xiaohan-Tian
|
395032390a
|
feat: add read_chord_progression tool for the Agent
|
2026-05-26 17:56:55 -07:00 |
|
Xiaohan-Tian
|
0f1bad4394
|
feat: implemented chord detection feature for MIDI regions
|
2026-05-25 23:22:42 -07:00 |
|
Xiaohan-Tian
|
a588cb439f
|
feat: added v1 Meyda.js based chord detection feature
|
2026-05-25 20:55:06 -07:00 |
|
Xiaohan-Tian
|
f12add935a
|
feat: add audio chord detection for spectrogram regions
|
2026-05-25 19:09:19 -07:00 |
|
Xiaohan-Tian
|
8aa36d2368
|
feat: added global chord region to MIDI region conversion feature
|
2026-05-25 16:25:43 -07:00 |
|
Xiaohan-Tian
|
2c84b48f63
|
fix: linter errors
|
2026-05-24 23:47:45 -07:00 |
|
Xiaohan-Tian
|
1879df8033
|
feat: implement global chord track
|
2026-05-24 23:06:08 -07:00 |
|
Xiaohan-Tian
|
7d275802c9
|
feat: implemented global tempo (bpm) track
|
2026-05-23 23:18:47 -07:00 |
|
Xiaohan-Tian
|
8eb3f5d84d
|
feat: implemented global key signature track
|
2026-05-23 14:44:48 -07:00 |
|
Xiaohan-Tian
|
fb3c6cde70
|
feat: implemented global marker track
|
2026-05-23 12:56:43 -07:00 |
|
Xiaohan-Tian
|
6db66be471
|
feat: allow user to config Gemma 4 E4B and MDX-NET model download URL
|
2026-05-18 22:55:00 -07:00 |
|
Xiaohan-Tian
|
4cf474be7e
|
feat: added split notes function
|
2026-05-18 19:00:21 -07:00 |
|
Xiaohan-Tian
|
d10965066f
|
feat: added shortcut for split and merge regions
|
2026-05-18 18:39:42 -07:00 |
|
Xiaohan-Tian
|
5fd19c7b2d
|
feat: brighten on-bar and on-C separator lines in piano roll grid
|
2026-05-17 13:47:02 -07:00 |
|
Xiaohan-Tian
|
e243f9e2ca
|
fix: allow local Gemma runtime on GitHub Pages and avoid OPFS cache finalize read errors
|
2026-05-15 13:04:36 -07:00 |
|
Xiaohan-Tian
|
b2bbc08761
|
fix: remove CORS checking for downloading remote model file
|
2026-05-15 12:53:36 -07:00 |
|
Xiaohan-Tian
|
f5a1ef5b94
|
fix: failed tests
|
2026-05-15 12:30:12 -07:00 |
|
Xiaohan-Tian
|
42b9662bb4
|
fix: minor UI adjustments
|
2026-05-14 23:15:38 -07:00 |
|
Xiaohan-Tian
|
1a051fea54
|
feat: added a welcome msg for local LLM users
|
2026-05-14 21:24:03 -07:00 |
|
Xiaohan-Tian
|
a48966d761
|
feat: added local LLM context length option
|
2026-05-14 19:44:25 -07:00 |
|
Xiaohan-Tian
|
dbf0c20542
|
fix: updated Gemma 4 URL from local test url to HF url
|
2026-05-14 19:33:44 -07:00 |
|
Xiaohan-Tian
|
c7a1630862
|
fix: show cache loading progress
|
2026-05-14 19:12:36 -07:00 |
|
Xiaohan-Tian
|
98c2b97413
|
feat: implemented the v1 browser embedded LLM support (Gemma 4 E4B based)
|
2026-05-14 18:55:23 -07:00 |
|
Xiaohan-Tian
|
f57dd7c1da
|
fix: failed to initialize WebGPU
|
2026-05-11 22:40:13 -07:00 |
|
Xiaohan-Tian
|
d32dc35b6d
|
feat: added local separator implementation
|
2026-05-11 22:27:22 -07:00 |
|
Xiaohan-Tian
|
8fa2c16395
|
feat: added save as option when renaming the project
|
2026-05-10 13:25:12 -07:00 |
|
Xiaohan-Tian
|
490cd19f68
|
feat: added audio recording feature
|
2026-05-09 15:57:46 -07:00 |
|
Xiaohan-Tian
|
31e02b4149
|
feat: implemented track level automation
|
2026-05-08 15:44:07 -07:00 |
|
Xiaohan-Tian
|
f3d26126fa
|
feat: added MIDI CC recording and list event table operation support.
|
2026-05-07 22:12:06 -07:00 |
|
Xiaohan-Tian
|
0d9e2a9f9b
|
fix: round interpolated MIDI values to integers to deduplicate repeated consecutive values
|
2026-05-06 20:01:46 -07:00 |
|
Xiaohan-Tian
|
738628fc76
|
feat: added pitch bend automation (linear interpolation)
|
2026-05-06 18:25:14 -07:00 |
|
Xiaohan-Tian
|
98cccf5c7a
|
feat: added pitch bend support
|
2026-05-05 21:28:32 -07:00 |
|
Xiaohan-Tian
|
8f453f8f4c
|
feat: implemented inline edit for the list event panel
|
2026-05-05 17:55:06 -07:00 |
|
Xiaohan-Tian
|
8a6e904ab4
|
feat: added an option to let user choose the vertical resolution of the spectrogram, also fixed a bug that peak of pitch in the spectrogram has been mapped to the start of the note bin instead of the center
|
2026-05-04 20:14:04 -07:00 |
|
Xiaohan-Tian
|
d089456676
|
feat: honor MIDI input notes' velocity during recording
|
2026-05-04 19:34:54 -07:00 |
|
Xiaohan-Tian
|
cd90dc1c99
|
fix: linter errors
|
2026-05-01 14:36:56 -07:00 |
|
Xiaohan-Tian
|
9be96cd957
|
feat: add R as shortcut of recording button; fixed linter errors.
|
2026-05-01 14:29:27 -07:00 |
|
Xiaohan-Tian
|
f7f79cdb32
|
fix: extract stems from trimmed audio is using full song
|
2026-04-20 21:49:25 -07:00 |
|
Xiaohan-Tian
|
1828dbbc63
|
feat: replace browser built-in alert/confirm/prompt pop-up with new DialogProvider
|
2026-04-19 23:54:26 -07:00 |
|
Xiaohan-Tian
|
e3a77e6398
|
fix: removed unnecessary override confirmation when user save project with project name unchanged
|
2026-04-16 20:29:10 -07:00 |
|
Xiaohan-Tian
|
24ffaa76f6
|
fix: reserve Untitled Project name; rename project will trigger save immidiatly.
|
2026-04-16 20:24:43 -07:00 |
|
Xiaohan-Tian
|
3010cf4e2d
|
fix: long track name displaying issue; wrong separator model name mapping; imported generated full song not adjusting max bars; implemented retry mechanism for K.G.One server calls.
|
2026-04-16 17:44:44 -07:00 |
|
Xiaohan-Tian
|
7b82572d5c
|
feat: implemented drag-n-drop to import KGOne generated audio/MIDI file feature
|
2026-04-15 22:40:47 -07:00 |
|
Xiaohan-Tian
|
83f4bfe47f
|
fix: missing media files when renaming + saving the project
|
2026-04-10 12:14:20 -07:00 |
|
Xiaohan-Tian
|
2d3ea33ce6
|
refactor: migrate project storage from IndexedDB to OPFS with folder-based structure
- Replace monolithic KGStorage with KGProjectStorage (OPFS) and KGConfigStorage (IndexedDB)
- Each project stored as folder: project.json + meta.json + media/
- Add KGConfigUpgrader with V1 upgrader to auto-migrate existing IndexedDB projects to OPFS
- Request persistent storage via navigator.storage.persist() to prevent browser eviction
- Show loading spinner during one-time migration
- Enforce safe project name characters (letters, numbers, space, hyphen, underscore, period, parens)
- Export projects as .kgstudio zip bundles instead of raw JSON
- Import supports .kgstudio bundles (with meta.json validation) and legacy JSON files
- Auto-deduplicate project names on import with (1), (2), etc. suffix
- Add OPFS shell debugger (pwd, ls, cd, cat, dl) accessible via KGDebugger.opfs()
- Add ESLint semi rule for consistent semicolons
- Delete KGStorage.ts — all logic absorbed by new storage classes
- Add jszip dependency for zip export/import
|
2026-04-09 19:25:08 -07:00 |
|
Xiaohan-Tian
|
78b798e138
|
feat: added a hotkey for loop button
|
2026-01-22 19:05:22 -08:00 |
|
Xiaohan-Tian
|
5cceec0c01
|
feat: implemented chord guide customization feature
|
2025-12-17 23:07:21 -08:00 |
|
Xiaohan-Tian
|
610b81e4cc
|
feat: merge mode_list.json into functional_chords.json
|
2025-12-17 22:10:37 -08:00 |
|
Xiaohan-Tian
|
46d3a21178
|
test: fixed test errors; skip failing integration tests temporarily
Skip command-execution and project-store-sync tests due to getMaxBars initialization issue
|
2025-12-15 22:56:32 -08:00 |
|