mmpSearch/assets/js/creations/audio.js

34 lines
1.1 KiB
JavaScript

// js/audio.js
// O contexto de áudio agora será gerenciado principalmente pelo Tone.js.
// Esta função garante que ele seja iniciado por uma interação do usuário.
export function initializeAudioContext() {
if (Tone.context.state !== 'running') {
Tone.start();
console.log("AudioContext iniciado com Tone.js");
}
}
// Funções de acesso ao contexto global do Tone.js
export function getAudioContext() {
return Tone.context;
}
export function getMainGainNode() {
return Tone.Destination;
}
// Funções para controlar o volume e pan master
export function updateMasterVolume(volume) {
// Tone.Destination.volume.value é em decibéis. Convertemos de linear (0-1.5) para dB.
if (volume === 0) {
Tone.Destination.volume.value = -Infinity;
} else {
Tone.Destination.volume.value = Tone.gainToDb(volume);
}
}
export function updateMasterPan(pan) {
// A panorimização master em Tone.js geralmente requer um nó Panner dedicado.
// Por enquanto, esta função servirá como um placeholder para futuras implementações.
console.log("Master Pan ainda não implementado com Tone.js");
}