Commit Graph

11 Commits

Author SHA1 Message Date
3dtours aa1cd8d5de fix: 3 bug standalone — soundfont preview/play, Carla bridge play item, realtime sync LAN/Tauri
Bug1: dispatcher CREATE_MIDI_ITEM track_id number vs state string -> String(); play+preview native soundfont verified.
Bug2: Carla play item — chờ OSC ready (poll carla-status, queue nốt khi cold start), chống spawn trùng (carla-status dò port bind, open-in-carla skip khi đã chạy).
Bug3: realtime sync — GET /temp/revision (updated_at+client_id), poll 3s, apply qua deserializeProjectFromSchema; hash-skip autosave + client_id chống ping-pong.
2026-08-10 22:10:12 +07:00
3dtours c08233a163 FIX: 6 lỗi âm thanh/Carla/temp-save/Ctrl-S/FX Chain Carla bridge
- Soundfont preview: hủy note đang chờ load soundfont (stopNote/stopAll/panic) — hết âm loop không dừng với MIDI Keyboard; preview dùng channel riêng (applyAITrackInstrument) — hết sai instrument
- Carla bridge: endpoint /carla-stop (all-notes-off OSC + terminate process) + stopBridge() khi track chuyển VSTi -> soundfont — hết âm play qua Carla cũ
- MIDI items play qua Carla khi VSTi loaded: scheduleCarlaNote route vào startTrackPlayback + startLocalTrackPlayback + ghost notes
- Tự động lưu temp khi tắt app: beforeunload/pagehide sendBeacon + autosave 30s + ghi storage/temp/autosave.json + khôi phục khi load lại
- Ctrl-S: desktop -> save-to-disk (Documents/SonicForgeDAW/Projects); docker -> Cloud/local
- FX Chain (Mastering + FX Rack): module Carla Bridge (VST FX) — load/openInCarla + stop/unload, pass-through trong graph
2026-08-10 05:34:32 +00:00
3dtours 8fc1c2641b FIX: chỉnh sửa mute và unmute realtime, sửa lỗi save dự án và chèn chung các items vào một track 2026-08-03 17:22:19 +07:00
3dtours a9da813cb1 FEAT: thêm nút bypass cho track strip để bypass không qua mastering panel 2026-08-03 15:47:10 +07:00
3dtours be3205645f fix(audio): recover clip serverFileId from audio_file_url on project load
3 fixes for audio clips losing sound after save/reload:
1. deserializeTracksList: clip-level serverFileId falls back
   to extracting from audio_file_url when server_file_id missing
2. serializeTracksList: add server_file_id to track output
   so track-level fallback survives round-trip
3. upgrade_project_json_if_needed: include server_file_id
   in source_data during legacy project upgrade
2026-07-30 22:26:53 +07:00
3dtours 58a294d845 IMPROVE: cho phép lưu dự án và phục hồi dự án vừa tắt 2026-07-30 20:47:44 +07:00
3dtours e843f55483 fix: strip null synth_engine from project JSON
- Frontend serialize: use undefined instead of null for synth_engine
- Backend validate: strip None synth_engine from tracks before schema validation
- Prevents 'None is not of type object' schema error
2026-07-26 18:22:35 +07:00
3dtours 7af0e61fb0 fix: add project_id fallback for schema validation
- validate_project_data injects missing project_id with temp_legacy_ prefix
- Prevents 400 error when old frontend data lacks project_id
2026-07-26 18:13:15 +07:00
3dtours 0e44e44ecb feat: bổ sung MIDI 2026-07-23 08:32:23 +07:00
3dtours 6f0fac9f2d fix: sửa lỗi Ai prompt multi 2026-07-22 18:37:52 +07:00
3dtours c8ebdb50b0 fix: refactor 2026-07-20 10:39:07 +07:00