feat: VSTi autosample -> SF2/SF3 (tools/autosample_vsti.py) + bit_depth 16/24/32 render/export WAV (render_engine, plugins API, audio_editor, app.jsx encoders) + tests + task/walkthrough docs (53)

This commit is contained in:
2026-08-11 12:09:02 +07:00
parent f8cb2c6a5e
commit 7293d7ac7e
12 changed files with 2266 additions and 18 deletions
+6
View File
@@ -141,6 +141,12 @@ window.API_BASE_URL = window.API_BASE_URL || window.location.origin;
throw new Error(err.detail || 'Upload failed');
}
return resp.json();
},
// fetch thô có Authorization header — trả Response (dùng cho download bytes/media browse)
authFetch: (url, options = {}) => {
const headers = { ...getAuthHeaders(), ...options.headers };
if (options.body instanceof FormData) delete headers['Content-Type'];
return fetch(url, { ...options, headers });
}
};
})();
+2 -2
View File
@@ -6,9 +6,9 @@
if (window.__FLUIDSYNTH_CDN) {
FLUIDSYNTH_JS_URL = window.__FLUIDSYNTH_CDN;
} else if (window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1') {
FLUIDSYNTH_JS_URL = 'https://cdn.jsdelivr.net/npm/@enikey87/fluidsynth-emscripten@0.1.1/dist/libfluidsynth-2.3.0-sf3.js';
} else {
// Luôn dùng WASM local — Tauri webview hostname=localhost nên CDN (jsdelivr) bị
// chặn làm FluidSynth không load, phải rơi về beep. File có sẵn trong source+dist.
FLUIDSYNTH_JS_URL = '/static/js/vendor/libfluidsynth-2.3.0-sf3.js';
}