plugin v1.0.1

This commit is contained in:
JotaChina committed 2025-11-23 16:51:16 -03:00
1 parent 9b0acaea61
commit fafe88b28a
4 files changed
+50 -7

No files matched your search

+12 -1
View File
@@ -371,7 +371,18 @@ export function updateClipPan(clipId, pan) {
export function addAudioTrackLane() {
const newTrackName = `Pista de Áudio ${audioState.tracks.length + 1}`;
audioState.tracks.push({ id: Date.now(), name: newTrackName });
// 1. Cria o objeto da pista
const newTrack = { id: Date.now(), name: newTrackName };
// 2. Adiciona ao estado
audioState.tracks.push(newTrack);
// 3. ATUALIZAÇÃO CRÍTICA: Renderiza a UI imediatamente para a pista aparecer
renderAudioEditor();
// 4. ATUALIZAÇÃO CRÍTICA: Retorna a pista para que o recording.js possa usar o ID
return newTrack;
}
export function removeAudioClip(clipId) {
+17
View File
@@ -109,6 +109,23 @@ document.addEventListener("DOMContentLoaded", () => {
const zoomInBtn = document.getElementById("zoom-in-btn");
const zoomOutBtn = document.getElementById("zoom-out-btn");
const deleteClipBtn = document.getElementById("delete-clip");
// Configuração do botão de Gravação
const recordBtn = document.getElementById('record-btn');
if (recordBtn) {
recordBtn.addEventListener('click', async () => {
// PASSO CRÍTICO: O navegador exige isso antes de gravar
if (Tone.context.state !== 'running') {
await Tone.start();
console.log("Audio Context iniciado via clique.");
}
// Chama a função que você criou no recording.js
toggleRecording();
});
} else {
console.error("Botão de gravação (#record-btn) não encontrado no DOM.");
}
//envia pattern pro editor de áudio
+2 -6
View File
@@ -102,12 +102,8 @@ async function _startRecording() {
if (!success) return;
try {
// --- MUDANÇA: Lógica movida para cá ---
// 1. Cria a pista de áudio *antes* de gravar
addAudioTrackLane(); //
// 2. Pega o ID da pista recém-criada
const newTrack = appState.audio.tracks[appState.audio.tracks.length - 1]; //
const newTrack = addAudioTrackLane(); // Agora isso vai funcionar!
currentRecordingTrackId = newTrack.id;
if (!newTrack) {
console.error("Falha ao criar a nova pista de áudio no estado.");
return;