Commit Graph

55 Commits

Author SHA1 Message Date
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
Xiaohan-Tian df722abd71 feat: added unit tests for scaleUtil.ts 2025-12-15 20:40:35 -08:00
Xiaohan-Tian bdc7fc899a feat: added highlighted chord guide on piano grid 2025-12-15 20:14:30 -08:00
Xiaohan-Tian 8512fb4204 feat: added logic to get suitable chords (console log only) 2025-12-14 21:52:23 -08:00
Xiaohan-Tian 9e0c0cc1f5 feat: add scale highlighting to Piano Roll grid 2025-12-09 23:50:03 -08:00
Xiaohan-Tian 02a7a61b1d feat: added integration tests 2025-12-08 17:56:58 -08:00
Xiaohan-Tian 2dcc76368e feat: added unit tests for timeUtil and xmlUtil. 2025-09-06 18:53:36 -07:00
Xiaohan-Tian 2bf5328af7 feat: added unit tests for KGMidiRegion and abcNotationUtil; update all deprecated method plainToClass to plainToInstance. 2025-09-03 23:05:13 -07:00
Xiaohan-Tian aa2b19966b feat: add Vitest unit testing infrastructure with initial test suite. 2025-09-03 22:15:05 -07:00
Xiaohan-Tian 1fd1486c59 fix: preserve overlapping notes with same end time in ABC conversion 2025-08-28 19:44:21 -07:00
Xiaohan-Tian 6445325f3a feat: implemented select all notes feature. 2025-08-28 19:23:21 -07:00
Xiaohan-Tian f2355b2350 rewrote welcome_new article; updated readme file; introduced /help command. 2025-08-21 23:05:22 -07:00