Commit Graph

229 Commits

Author SHA1 Message Date
Xiaohan-Tian f132f6bbe2 feat: preserve the viewport position when zooming in and out 2026-05-02 13:35:17 -07:00
Xiaohan-Tian da8b9496df feat: add cross-component playhead scroll synchronization 2026-05-02 00:25:41 -07:00
Xiaohan-Tian 6b8a470022 fix: move computing spectrogram text to the center of current viewport of piano roll window 2026-05-02 00:09:33 -07:00
Xiaohan-Tian 5890a6d0b9 fix: piano roll spectrogram is not being zoomed correctly; switching from MIDI region to audio region with piano roll open might cause residual notes. 2026-05-01 23:56:12 -07:00
Xiaohan-Tian 811b3a0936 feat: added zoom-in/out feature for piano roll window. 2026-05-01 23:26:39 -07:00
Xiaohan-Tian d59ad68f72 feat: added fine tune region position feature 2026-05-01 23:07:44 -07:00
Xiaohan-Tian d5795c5281 fix: random not able to exit piano roll hybrid mode issue when switching between different MIDI regions (introduced a region dragging start threshold) 2026-05-01 20:34:21 -07:00
Xiaohan-Tian cbd2fc60a0 fix: updated the spectrogram icon 2026-05-01 20:18:32 -07:00
Xiaohan-Tian 756fc1bc6c fix: minor UI updates 2026-05-01 18:49:28 -07:00
Xiaohan-Tian b7926300e1 fix: unit test errors and TS type errors 2026-05-01 18:33:25 -07:00
Xiaohan-Tian 83034455cc feat: implemented piano roll hybrid mode to allow user edit MIDI notes while observing spectrogram as reference 2026-05-01 18:28:45 -07:00
Xiaohan-Tian ba0e27e50a fix: few misc issues when switching between MIDI region and audio regions 2026-05-01 17:55:14 -07:00
Xiaohan-Tian eafb3a4937 feat: added audio track spectrogram visualization feature 2026-05-01 17:44:29 -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 043e90b1d7 fix: missing count-in when recording with loop mode on 2026-05-01 14:17:29 -07:00
Xiaohan-Tian adb2345693 fix: wwitched the preroll metronome scheduling off window.setTimeout and onto Tone’s audio-context clock 2026-05-01 12:16:57 -07:00
Xiaohan-Tian a474065450 fix: pre-roll metronome ticks are missing 2026-05-01 12:11:02 -07:00
Xiaohan-Tian 95ca3394a8 feat: switch track volume to dB scale with Logic Pro-style fader (−∞dB ~ +12dB) 2026-05-01 11:38:35 -07:00
Xiaohan-Tian 77885c8e2e feat: added recording MIDI device feature. 2026-05-01 10:59:36 -07:00
Xiaohan-Tian f60c7b44ec feat: added remix and repaint support 2026-04-29 18:28:23 -07:00
Xiaohan-Tian 3bce450637 fix: added base url presents for OpenAI Compatible settings 2026-04-24 20:03:18 -07:00
Xiaohan-Tian d6001a6ceb chore: added two debugger automation utilities 2026-04-21 19:03:40 -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 a71de0c789 fix: minor updated color palette for some components; updated default region/track names for stem separation. 2026-04-20 15:33:02 -07:00
Xiaohan-Tian 1e4fdfc8c5 refactor: replace purple accent color with light blue theme and beautify Open Project modal 2026-04-20 12:09:57 -07:00
Xiaohan-Tian 55861cf3cd feat: add closing animation to all modal dialogs and fix drag-dismiss bug 2026-04-20 00:36:32 -07:00
Xiaohan-Tian 778c0236b6 fix: added a special treatment for time signature input; fixed text selection in pop-up and release the mouse outside the pop-up will close the pop-up issue. 2026-04-20 00:02:47 -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 0ac39068b2 feat: added metronome feature 2026-04-19 17:00:10 -07:00
Xiaohan-Tian f0a2f06295 fix: remove hardcoded lm model 2026-04-18 16:28:29 -07:00
Xiaohan-Tian 7e67ca9d10 fix: add https support for local vite dev server 2026-04-18 14:27:07 -07:00
Xiaohan-Tian 474b68c494 fix: minor updates the parameters send to ace-step-1.5 2026-04-17 23:58:10 -07:00
Xiaohan-Tian ebcbe4002a fix: adjust UI for open project pop up 2026-04-17 18:21:52 -07:00
Xiaohan-Tian 5ca1358795 feat: added "powered by" info to 3rd party powered features 2026-04-17 18:02:08 -07:00
Xiaohan-Tian 7d10d37b4f fix: default K.G.One Music Generator panel to Full Song tab 2026-04-17 16:55:24 -07:00
Xiaohan-Tian 71dc7d99e7 feat: allow kgone-server.json to override the kgone server base url and soundfont base url 2026-04-17 16:32:55 -07:00
Xiaohan-Tian 206fa6fdf9 fix: honor the soundfont -> baseUrl config 2026-04-17 16:18:33 -07:00
Xiaohan-Tian cb4bf59de1 fix: undo is resetting the mute and solo track button status 2026-04-16 22:41:06 -07:00
Xiaohan-Tian ebcebb5d3b feat: added split region feature 2026-04-16 22:36:31 -07:00
Xiaohan-Tian 9d9190413d fix: allow user to create audio region by triggering audio upload pop-up 2026-04-16 21:05:05 -07:00
Xiaohan-Tian cb027b6c20 feat: added auto-center playhead to piano roll window 2026-04-16 20:53:01 -07:00
Xiaohan-Tian 425aeab2d1 feat: let playhead automatically centered 2026-04-16 20:46:28 -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 cadd51c3a4 feat: integrate K.G.One music generation panel
- ConfigManager: add `general.kgone` config block (enabled toggle +
base URL); add `setKGOneManagedByServer()` / `isKGOneServerManaged()`
for managed deployments that supply a `kgone-server.txt` override
- App.tsx: probe for `kgone-server.txt` on startup (Content-Type guard
to avoid Vite SPA fallback false-positive)
- GeneralSettings: new K.G.One section with enable toggle + base URL
input; fields disabled when server-managed
- Toolbar: magic wand button (FaWandMagicSparkles) that toggles the
panel; disabled with reduced opacity when K.G.One is turned off;
mutually exclusive with the Chat panel
- projectStore: add `showKGOnePanel` state + `toggleKGOnePanel` action
- KGOnePanel (new): three-tab panel (Clip / Full Song / Separator)
- Clip: prompt + advanced params → POST /v1/clip/generate → poll
    /v1/clip/result → download WAV → AudioPlayer preview
- Full Song: caption + lyrics + advanced params → POST
    /v1/fullsong/generate → poll /v1/fullsong/result (live progress %
    from nested JSON string) → download MP3 → AudioPlayer preview
- Separator: reads selected audio region from OPFS via
    KGAudioFileStorage → POST /v1/separator/separate (multipart) →
    poll /v1/separator/result → parallel-download all stem files →
    multiple labeled AudioPlayer instances rendered vertically
- Shared: custom AudioPlayer (play/pause, clickable seek bar),
    spinner + hint text, error card, AbortController cleanup,
    DEBUG_MODE.KGONE-gated REQ/RES console logging
2026-04-15 19:51:16 -07:00
Xiaohan-Tian d082c9cfb5 fix: missing tool calling info in the exported conversation JSON and MD 2026-04-11 12:54:10 -07:00
Xiaohan-Tian d16553e659 feat: added bouncing to MP3 feature 2026-04-11 12:30:15 -07:00