FIX: sửa MASTERING PANEL có tác dụng với mainout

This commit is contained in:
2026-07-30 11:06:31 +07:00
parent 2c55db372a
commit 6e1f116658
3 changed files with 624 additions and 312 deletions
+16 -2
View File
@@ -25,6 +25,14 @@
let _scheduledNotes = [];
const getCtx = function () {
if (_audioCtx) {
if (!_gainNode) {
_gainNode = _audioCtx.createGain();
_gainNode.gain.value = 0.3;
_gainNode.connect(window.masterBus ? window.masterBus.input : _audioCtx.destination);
}
return _audioCtx;
}
if (typeof getAudioContext === 'function') {
var ctx = getAudioContext();
if (!_gainNode) {
@@ -67,6 +75,12 @@
try {
_audioCtx = audioContext;
if (_audioCtx.state === 'suspended') await _audioCtx.resume();
// Create gain node for master bus routing before any node connections
if (!_gainNode) {
_gainNode = _audioCtx.createGain();
_gainNode.gain.value = 0.3;
_gainNode.connect(window.masterBus ? window.masterBus.input : _audioCtx.destination);
}
console.log("[SonicSF] AudioCtx state:", _audioCtx.state, "sampleRate:", _audioCtx.sampleRate);
@@ -224,7 +238,7 @@
selectInstrument: async function (channel, bank, program, sfId) {
if (!_initialized || !_fluidModule) {
var ctx = new (window.AudioContext || window.webkitAudioContext)();
var ctx = (typeof getAudioContext === 'function') ? getAudioContext() : new (window.AudioContext || window.webkitAudioContext)();
await this.init(ctx);
}
if (sfId) {
@@ -350,7 +364,7 @@
if (_initialized && _fluidModule) return;
if (_initPromise) return;
try {
var ctx = new (window.AudioContext || window.webkitAudioContext)();
var ctx = (typeof getAudioContext === 'function') ? getAudioContext() : new (window.AudioContext || window.webkitAudioContext)();
if (ctx.state === 'suspended') await ctx.resume();
await this.init(ctx);
} catch (e) {}