Commit Graph

19 Commits

Author SHA1 Message Date
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 9be96cd957 feat: add R as shortcut of recording button; fixed linter errors. 2026-05-01 14:29:27 -07:00
Xiaohan-Tian 77885c8e2e feat: added recording MIDI device feature. 2026-05-01 10:59:36 -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 63ced27702 feat: added Claude 4.6 model series options. 2026-04-05 23:01:58 -07:00
Xiaohan-Tian 6c49fbfabe feat: added model options for GPT-5.4 families; updated default model to gpt-5.4-mini 2026-04-05 22:23:07 -07:00
Xiaohan-Tian 2cd976ff96 refactor: migrate agent system from XML tool calling to OpenAI SDK with native function calling
- Replace custom XML-based tool parsing (XMLToolExecutor) with OpenAI SDK's
  native tool_calls via `openai` npm package (dangerouslyAllowBrowser)
- Consolidate 4 LLM providers (OpenAI, Claude, Gemini, ClaudeOpenRouter)
  into a single OpenAI SDK-based LLMProvider compatible with any
  OpenAI-style API (OpenAI, OpenRouter, Ollama, vLLM)
- Move agentic tool execution loop from ChatBox into AgentCore
- Update Message type to support tool roles, tool_calls, and tool_call_id
- Update system prompt to remove XML formatting instructions (~45% smaller)
- Remove AttemptCompletionTool (replaced by stop_reason detection),
  ThinkTool, and ThinkingTool
- Polish tool descriptions for OpenAI function calling schema compliance
- Normalize base URLs by stripping /chat/completions suffix
2026-04-05 18:59:25 -07:00
Xiaohan-Tian 78b798e138 feat: added a hotkey for loop button 2026-01-22 19:05:22 -08:00
Xiaohan-Tian e8b79efde7 feat: add option to persist API keys on non-localhost (opt-in security feature) 2026-01-17 13:54:15 -08:00
Xiaohan-Tian 4f4e60f84a feat: added latest (as of 2025-12-25) GPT and Claude model support 2025-12-25 14:29:50 -08:00
Xiaohan-Tian b44e6fb1ee feat: added an option to control playhead animation fps 2025-12-21 22:42:01 -08:00
Xiaohan-Tian eaee036fc2 feat: added playback delay configuration 2025-12-21 20:11:27 -08:00
Xiaohan-Tian aadf9e06df feat: added lookAhead option 2025-12-21 18:51:20 -08:00
Xiaohan-Tian 5cceec0c01 feat: implemented chord guide customization feature 2025-12-17 23:07:21 -08:00
Xiaohan-Tian bdc7fc899a feat: added highlighted chord guide on piano grid 2025-12-15 20:14:30 -08:00
Xiaohan-Tian 6445325f3a feat: implemented select all notes feature. 2025-08-28 19:23:21 -07:00
Xiaohan-Tian 81c6aeb966 added a configuration option for Claude through OpenRouter. 2025-08-24 13:31:33 -07:00
Xiaohan-Tian c1112f41d5 added an option to fix the "Zoom can't capture the sound" problem (it is IMPORTANT to choose "share sound" when share screen in Zoom). 2025-08-20 15:48:26 -07:00
Xiaohan-Tian de51967b49 initial public release. 2025-08-11 18:37:21 -07:00