From 5c7f922eb0bf85207dabd5af001c368941836ab6 Mon Sep 17 00:00:00 2001 From: 3dtours Date: Mon, 27 Jul 2026 15:21:50 +0700 Subject: [PATCH] fix: _fluid_synth_all_sounds_off + log noteoff return code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Dùng _fluid_synth_all_sounds_off thay vì CC120 - Log return value của _fluid_synth_noteoff (0=OK, -1=fail) - Log ch+pitch trong stopNote - Sửa printErr filter (bỏ check 'stderr') --- app/static/js/services/soundfontPlayer.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/static/js/services/soundfontPlayer.js b/app/static/js/services/soundfontPlayer.js index 7a128ec..254a8ce 100644 --- a/app/static/js/services/soundfontPlayer.js +++ b/app/static/js/services/soundfontPlayer.js @@ -88,7 +88,7 @@ }, TOTAL_MEMORY: TOTAL_MEMORY, printErr: function (msg) { - if (msg.indexOf('stderr') === -1) console.warn('[FluidSynth:err]', msg); + console.warn('[FluidSynth:err]', msg); } }); @@ -305,8 +305,14 @@ stopNote: function (channel, pitch) { if (channel < 0 || channel > 15) return; if (_initialized && _fluidModule) { - try { _fluidModule._fluid_synth_noteoff(_synthPtr, channel, pitch); } catch (e) {} - try { _fluidModule._fluid_synth_cc(_synthPtr, channel, 120, 0); } catch (e) {} + console.log("[SonicSF] stopNote ch:", channel, "pitch:", pitch); + try { + var r = _fluidModule._fluid_synth_noteoff(_synthPtr, channel, pitch); + if (r !== 0) console.warn("[SonicSF] noteoff returned:", r); + } catch (e) { console.warn("[SonicSF] noteoff error:", e); } + try { + _fluidModule._fluid_synth_all_sounds_off(_synthPtr, channel); + } catch (e) {} } },