100 Commits
Author SHA1 Message Date
Xiaohan-Tian d793195286 Merge pull request #59 from KGAudioLab/feat/2026-06-30-misc
fix: failed test cases
2026-07-07 17:25:13 -07:00
Xiaohan-Tian 89983e47e4 fix: failed test cases 2026-07-07 17:24:24 -07:00
Xiaohan-Tian 3caa541ca3 Merge pull request #58 from KGAudioLab/feat/2026-06-30-misc
Feat/2026 06 30 misc
2026-07-07 17:18:59 -07:00
Xiaohan-Tian cca874a516 feat: persist playhead position and restore centered timeline on project load 2026-07-07 17:18:01 -07:00
Xiaohan-Tian 93450aebec feat: misc behavior changes 2026-07-06 23:28:56 -07:00
Xiaohan-Tian 5aa74e61a8 feat: implemented v1 audio-to-midi conversion (polyphonic only, algorithm-based) 2026-07-06 22:56:22 -07:00
Xiaohan-Tian f4e22e50a4 feat: improve spectrogram pitch mapping and vertical smoothing 2026-07-06 19:34:18 -07:00
Xiaohan-Tian 73b28402c5 Merge pull request #57 from KGAudioLab/feat/2026-06-30-misc
fix: fixed failed test cases
2026-07-06 18:32:50 -07:00
Xiaohan-Tian 08c9cf24a6 fix: fixed failed test cases 2026-07-06 18:32:08 -07:00
Xiaohan-Tian 5c74c82bac Merge pull request #56 from KGAudioLab/feat/2026-06-30-misc
Feat/2026 06 30 misc
2026-07-06 18:25:12 -07:00
Xiaohan-Tian 3c93dd76fc fix: correct piano-roll header seek when horizontally scrolled 2026-07-06 18:23:34 -07:00
Xiaohan-Tian be15983e12 fix: keep imported MIDI in one region and expand project bars 2026-07-06 18:11:06 -07:00
Xiaohan-Tian f9334dc30d feat: add mock OPFS du command for recursive size inspection 2026-07-05 13:52:32 -07:00
Xiaohan-Tian 61fe39eb05 Merge pull request #55 from KGAudioLab/feat/2026-06-30-misc
Feat/2026 06 30 misc
2026-07-04 23:42:05 -07:00
Xiaohan-Tian 722ba685eb fix: persist separator results until project switch 2026-07-04 23:41:35 -07:00
Xiaohan-Tian a8c68d97ed fix: tempo-driven audio region resizing and playhead clamping 2026-07-04 21:04:42 -07:00
Xiaohan-Tian eca0fbd5ae Merge pull request #54 from KGAudioLab/feat/2026-06-30-misc
Feat/2026 06 30 misc
2026-07-02 14:21:48 -07:00
Xiaohan-Tian 09dd717262 fix: close Settings after successful saved project load 2026-07-02 14:18:33 -07:00
Xiaohan-Tian 86ec455dfe feat: cache soundfont MP3s in OPFS and add cache controls 2026-07-02 14:11:25 -07:00
Xiaohan-Tian 4f11fe8e25 feat: added region color customization feature 2026-07-01 22:31:35 -07:00
Xiaohan-Tian fbdba021cb Merge pull request #53 from KGAudioLab/feat/2026-06-01-enhance-ai-agent
Feat/2026 06 01 enhance ai agent
2026-06-12 17:24:06 -07:00
Xiaohan-Tian 30d8c74c17 fix: playhead location offset issues in piano roll window; z-index issue in bar-numbers and top-left-spacer 2026-06-12 17:23:39 -07:00
Xiaohan-Tian ef7ff08f4c fix: added missing i18n labels 2026-06-12 12:03:32 -07:00
Xiaohan-Tian 3ba8f81c87 fix: preserve 7sus4 chord canonicalization for global chord MIDI import 2026-06-10 18:52:35 -07:00
Xiaohan-Tian 6bfce38c79 fix: support extended chord symbols in chord-to-MIDI import 2026-06-09 18:46:33 -07:00
Xiaohan-Tian 7af96629b9 Merge pull request #52 from KGAudioLab/feat/2026-06-01-enhance-ai-agent
Feat/2026 06 01 enhance ai agent
2026-06-07 13:16:49 -07:00
Xiaohan-Tian 6b9fe85e95 fix: minor UI adjustments 2026-06-07 13:13:37 -07:00
Xiaohan-Tian 94befcdd95 fix: audio track undo buffer rehydration 2026-06-07 13:06:34 -07:00
Xiaohan-Tian a76a8abb94 fix: support numeric track_id arguments across track tools 2026-06-06 17:27:04 -07:00
Xiaohan-Tian b8d17f4fa0 Merge pull request #51 from KGAudioLab/feat/2026-06-01-enhance-ai-agent
Feat/2026 06 01 enhance ai agent
2026-06-05 18:34:47 -07:00
Xiaohan-Tian 8323e6218c fix: use raw streaming chat completions and keep readable preview stacks
Switch OpenAI-compatible streaming from chat.completions.stream()
to chat.completions.create({ stream: true }) and track finish_reason
from streamed chunks directly.

This avoids the SDK's final chat-completion reconstruction path,
which could throw in preview builds while processing agent streams.

Also keep function/class names and sourcemaps in production builds
to make preview stack traces easier to read.

This issue can randomly happen when using `google/gemma-4-31b-it` model via OpenRouter.

Original error stacktrace:
```
index-Bh7OJFcp.js:807 Error processing stream: kn: Cannot read properties of undefined (reading 'type')
    at Bb.qJ (index-Bh7OJFcp.js:780:4436)Caused by: TypeError: Cannot read properties of undefined (reading 'type')
    at _J (index-Bh7OJFcp.js:780:1713)
    at index-Bh7OJFcp.js:780:416
    at Array.map (<anonymous>)
    at R6e (index-Bh7OJFcp.js:780:408)
    at z6e (index-Bh7OJFcp.js:785:258)
    at Bb.By (index-Bh7OJFcp.js:781:4928)
    at Bb._createChatCompletion (index-Bh7OJFcp.js:781:1059)
    at async Bb._runChatCompletion (index-Bh7OJFcp.js:780:6759)
```
2026-06-05 18:34:26 -07:00
Xiaohan-Tian 2e27becaca fix: minor errors during compilation 2026-06-05 18:09:31 -07:00
Xiaohan-Tian 98bcbc5b3e Merge pull request #50 from KGAudioLab/feat/2026-06-01-enhance-ai-agent
docs: updated readme files
2026-06-05 17:55:14 -07:00
Xiaohan-Tian 748cd78e05 docs: updated readme files 2026-06-05 17:54:54 -07:00
Xiaohan-Tian ebee595438 Merge pull request #49 from KGAudioLab/feat/2026-06-01-enhance-ai-agent
docs: updated readme files
2026-06-05 17:53:08 -07:00
Xiaohan-Tian 11cfcb7b17 docs: updated readme files 2026-06-05 17:52:43 -07:00
Xiaohan-Tian 30fe8999d4 Merge pull request #48 from KGAudioLab/feat/2026-06-01-enhance-ai-agent
Feat/2026 06 01 enhance ai agent
2026-06-05 17:51:21 -07:00
Xiaohan-Tian daef1db3c6 docs: updated readme files and help messages 2026-06-05 17:50:43 -07:00
Xiaohan-Tian c4f5d7b78e feat: added global key signature track, global chord progression track, global tempo(BPM) track, and global marker track related tools for AI Agent 2026-06-05 16:50:51 -07:00
Xiaohan-Tian 622dbbea83 feat: added tool write_chord_progression 2026-06-05 15:29:00 -07:00
Xiaohan-Tian 2e3f3623ea feat: added delete_track tool 2026-06-05 12:58:30 -07:00
Xiaohan-Tian 7d53a9cd82 feat: add instrument listing, track creation and update tools to AI agent 2026-06-04 23:14:15 -07:00
Xiaohan-Tian 8ee7ddac77 feat: add track-aware tool targeting and new agent tools, lifted the requirement of selection a MIDI region to use AI Agent
Introduces a shared `toolTargeting.ts` module that resolves the active MIDI
region/track from the user's current selection, enabling tools to operate on
the correct target without requiring explicit track IDs in most cases.

Adds two new read-only tools — `list_all_tracks` and
`get_user_selected_music_range_and_track` — so the agent can inspect
available tracks and the current selection context before acting.

Also refactors `AddNotesTool` to auto-create MIDI regions when no region
exists, refactors `RemoveNotesTool`, `ReadMusicTool`, and
`ReadChordProgressionTool` to use the new targeting helpers, adds a
`buildToolHistoryContent` hook to `BaseTool` for cleaner chat history
display, and updates system prompts and tests throughout.
2026-06-04 19:29:37 -07:00
Xiaohan-Tian 5c5a07b839 feat: separated efficient agent mode (lite mode) for small language models 2026-06-04 16:45:06 -07:00
Xiaohan-Tian a3a0f2f4ad feat: added conversation history feature 2026-06-03 22:56:05 -07:00
Xiaohan-Tian 5c6e1d69c5 fix: localize auto-compact threshold settings 2026-06-03 17:40:04 -07:00
Xiaohan-Tian 42fdcebd42 fix: use i18n strings for chatbox todo snapshot card 2026-06-03 17:09:54 -07:00
Xiaohan-Tian ad1e0c2aa8 feat: implemented confirmation mechanism for tool invokation 2026-06-03 17:05:42 -07:00
Xiaohan-Tian 414565ecc9 feat: sync translations 2026-06-02 23:44:05 -07:00
Xiaohan-Tian 528e4ca7f9 feat: persist global track visibility status and metronome status 2026-06-02 23:25:30 -07:00
Xiaohan-Tian 6b0de74acd refactor: added UI-only tool result summary to all the tools; move summary generation logic to tool's own ts file 2026-06-02 23:13:25 -07:00
Xiaohan-Tian 4bdd0d5ea7 feat: minor UI adjustments 2026-06-02 22:31:29 -07:00
Xiaohan-Tian 5aacf01457 feat: add agent todo tool and inline todo snapshot cards in chat 2026-06-02 21:52:44 -07:00
Xiaohan-Tian 4187711160 Merge pull request #47 from KGAudioLab/feat/2026-05-30-i18n-v1
Feat/2026 05 30 i18n v1
2026-05-31 13:16:21 -07:00
Xiaohan-Tian e3c609fe38 fix: minor UI issues 2026-05-31 13:08:50 -07:00
Xiaohan-Tian a64ba428c8 chore(i18n): minor wording adjustments 2026-05-31 12:35:51 -07:00
Xiaohan-Tian f58d9a85b0 chore(i18n): unify Traditional Chinese wording across UI and docs 2026-05-31 12:29:10 -07:00
Xiaohan-Tian e1f8e69ce3 fix: few missed translations 2026-05-31 00:41:44 -07:00
Xiaohan-Tian 5d070a5643 fix: minor UI updates 2026-05-31 00:25:22 -07:00
Xiaohan-Tian 59dea65b0d feat: added translations for 4 tabs in Settings screen 2026-05-31 00:21:44 -07:00
Xiaohan-Tian 9fb206c456 docs: added Traditional Chinese and French README files 2026-05-31 00:00:32 -07:00
Xiaohan-Tian e263b1cc41 feat: added French support 2026-05-30 23:37:51 -07:00
Xiaohan-Tian 4c82f514d7 fixed: failed test cases 2026-05-30 23:10:59 -07:00
Xiaohan-Tian 9180a274c5 feat: added Traditional Chinese support 2026-05-30 23:06:17 -07:00
Xiaohan-Tian 4488fe8ecd feat: added i18n support for Open Project pop-up 2026-05-30 22:18:22 -07:00
Xiaohan-Tian b5546aa230 feat: added translation for Music Generator panel; provided K.G.Studio Musician Assistant a Chinese name 2026-05-30 20:29:10 -07:00
Xiaohan-Tian 957f6db950 feat: added i18n support; added Simplified Chinese support 2026-05-30 20:02:55 -07:00
Xiaohan-Tian 227b1ed37f Merge pull request #46 from KGAudioLab/feat/2026-05-23-global-track
Feat/2026 05 23 global track
2026-05-29 15:02:35 -07:00
Xiaohan-Tian ee6cef10e5 fix: load onnx runtime mjs from assets folder 2026-05-29 15:01:11 -07:00
Xiaohan-Tian cd2938fe15 feat: implemented user-friendly chord guide editor; added real time chord guide info to the status bar 2026-05-29 12:51:58 -07:00
Xiaohan-Tian 72297cb731 refactor: chord guide system 2026-05-28 22:52:58 -07:00
Xiaohan-Tian ad17263b82 fix: minor UI update 2026-05-28 21:53:44 -07:00
Xiaohan-Tian 4d415a7f7d feat: simplify chord guide feature; updated help doc; added hotkeys doc 2026-05-28 21:03:02 -07:00
Xiaohan-Tian cd4d5847eb feat: allow user to drag-n-drop audio clip into audio tracks; added m4a support 2026-05-28 17:25:08 -07:00
Xiaohan-Tian c8af2ddcca docs: updated README.md 2026-05-27 22:33:35 -07:00
Xiaohan-Tian e95ff72d2a fix: minor UI updates 2026-05-27 22:32:54 -07:00
Xiaohan-Tian 2140e944f2 feat: added local separator model demucs_4s support 2026-05-27 20:17:17 -07:00
Xiaohan-Tian e2a7d1c285 refactor: move all localSeparator*.ts into a subfolder 2026-05-27 17:32:13 -07:00
Xiaohan-Tian 7340f7f8f6 docs: updated README.md and LICENSE 2026-05-26 23:27:23 -07:00
Xiaohan-Tian c4e4470182 feat: added waveform view for audio regions 2026-05-26 23:23:01 -07:00
Xiaohan-Tian 7fc5ac1590 feat: added tempo detection with auto-align beats feature 2026-05-26 22:45:54 -07:00
Xiaohan-Tian e82c3cbfc2 fix: changing BPM in the middle of the song causes empty spaces between notes during playback/bounce 2026-05-26 19:40:37 -07:00
Xiaohan-Tian 9ed3e57907 feat: added Global tab to Event List panel 2026-05-26 19:23:18 -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 275cfece99 docs: updated LICENSE 2026-05-25 21:01:39 -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 a7158b1ee0 fix: update default BPM to 120 2026-05-25 18:02:42 -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 e49b675985 fix: minor UI updates 2026-05-25 15:44:27 -07:00
Xiaohan-Tian 742b2fecf3 fix: restore main content global track updates after refactor 2026-05-25 15:41:00 -07:00
Xiaohan-Tian 3f96b13d8a fix: truncate project name if it's too long 2026-05-25 15:28:38 -07:00
Xiaohan-Tian d4cc4c8a37 fix: add ellipsis truncation for long track and piano roll titles 2026-05-25 14:17:35 -07:00
Xiaohan-Tian b36ea5a312 refactor: split MainContent into focused hooks and fix audio debug build 2026-05-25 14:17:10 -07:00
Xiaohan-Tian 1f330818d8 feat: enhance multi-region selection feature to support both shift and cmd/ctrl 2026-05-25 13:50:28 -07:00
Xiaohan-Tian 2c84b48f63 fix: linter errors 2026-05-24 23:47:45 -07:00
Xiaohan-Tian b80066c2a4 feat: use embedded inputbox for track name editing and region name editing 2026-05-24 23:33:54 -07:00
Xiaohan-Tian 27948771de fix: default project main grid's zoom level to 2x 2026-05-24 23:20:49 -07:00
Xiaohan-Tian af0b816cbf fix: minor UI updates 2026-05-24 23:17:43 -07:00