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
This commit is contained in:
2026-07-30 22:26:53 +07:00
parent 0894f97386
commit be3205645f
3 changed files with 4 additions and 2 deletions
+1
View File
@@ -38,6 +38,7 @@ def upgrade_project_json_if_needed(project_data: dict) -> dict:
"clip_start_offset_bars": 0.0,
"source_data": {
"audio_file_url": f"/static/audio/uploads/{t.get('serverFileId')}" if t.get("serverFileId") else "",
"server_file_id": t.get("serverFileId") or None,
"sample_rate": 44100,
"channels": 2,
"gain": 1.0