34 lines
1.1 KiB
JavaScript
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");
|
|
} |