diff --git a/app/static/js/services/audioRoutingEngine.js b/app/static/js/services/audioRoutingEngine.js
index e25778c..d4e942b 100644
--- a/app/static/js/services/audioRoutingEngine.js
+++ b/app/static/js/services/audioRoutingEngine.js
@@ -24,8 +24,8 @@
// Idempotent: updateSfRouting/ensureMasteringRouting chay tren MOI keydown/
// note-on — neu da noi dung dest thi KHONG disconnect (disconnect flush ring
// -> am phim dang vang bi cat). Chi doi khi dest/track thuc su khac.
+ if (window.__sfDiag) window.__sfDiag("ROUTE to=" + (trackId || "masterBus") + " prev=" + (this._trackId || "masterBus") + " bridgeReady=" + bridgeNode.isReady() + " conn=" + this._connected);
if (this._connected && this._dest === dest && this._trackId === (trackId || null)) return true;
- this.disconnect();
if (!bridgeNode.isReady()) bridgeNode.init();
bridgeNode.connect(dest);
this._connected = true;
diff --git a/app/static/js/services/bridgeAudioNode.js b/app/static/js/services/bridgeAudioNode.js
index af6fa6b..7534a31 100644
--- a/app/static/js/services/bridgeAudioNode.js
+++ b/app/static/js/services/bridgeAudioNode.js
@@ -101,6 +101,16 @@
function onAudio(l, r) {
if (!_initialized) init();
var blk = { l: new Float32Array(l), r: new Float32Array(r) };
+ _frames = (_frames || 0) + blk.l.length;
+ for (var _i = 0; _i < blk.l.length; _i++) {
+ var _a = Math.abs(blk.l[_i]); if (_a > (_peak || 0)) _peak = _a;
+ var _b = Math.abs(blk.r[_i]); if (_b > (_peak || 0)) _peak = _b;
+ }
+ if (!_lastDiag || Date.now() - _lastDiag >= 1000) {
+ _lastDiag = Date.now();
+ if (window.__sfDiag) window.__sfDiag("BRIDGE_AUDIO frames=" + _frames + " peak=" + (_peak ? (20 * Math.log10(_peak)).toFixed(1) : "-inf") + "dB path=" + (_useWorklet ? "worklet" : (_preBuffer.length ? "preBuffer" : "chunks")));
+ _peak = 0;
+ }
if (_useWorklet && _workletNode) {
_workletNode.port.postMessage({ type: 'audio', l: blk.l, r: blk.r });
return;
diff --git a/app/templates/index.html b/app/templates/index.html
index 2c4b3a3..b4ca918 100644
--- a/app/templates/index.html
+++ b/app/templates/index.html
@@ -40,9 +40,9 @@
-
+
-
+