FIX: 3 bugs - soundfont engine fallback, media explorer icons/drag, carla midi playback routing

- render_engine: soundfont track không có plugin_id giờ vẫn dùng instrument sf2 thay vì rơi về wave synth
- fontawesome: sửa đường dẫn webfonts (bỏ ../) hết 404 icon
- media explorer: drag MIDI library items vào timeline tạo được midi item (sinh 6 MIDI loop mẫu + resolve drop file)
- app.jsx: 3 path gate window.SonicSF cho phép route playback qua SonicCarlaMidi
This commit is contained in:
2026-08-10 20:08:48 +07:00
parent 61cb4b846f
commit e89a594b7c
11 changed files with 21 additions and 12 deletions
+1 -1
View File
@@ -270,7 +270,7 @@ class PythonRenderEngine:
# pedalboard >= 0.9: instrument KHÔNG vào Pedalboard container
synth_buffer = vst(midi_messages, sample_rate=self.sample_rate,
duration=total_needed / float(self.sample_rate), num_channels=2)
elif instrument_id and (instrument_id.startswith("sf_") or soundfont_id):
elif soundfont_id or (instrument_id and instrument_id.startswith("sf_")):
sf_path = _find_sf2_path(soundfont_id or instrument_id)
# 3-level fallback: selected SF → default SF → oscillator synth
if not sf_path or not os.path.exists(sf_path) or not HAS_PYFLUIDSYNTH: