feat: removidos da tela Editar vídeo os passos legados de transcri

- removidos da tela Editar vídeo os passos legados de transcrição, falantes e métricas.

Resumo:
- 4 arquivos alterados
- 0 novos
- 4 modificados
- 0 removidos

 4 files changed, 35 insertions(+), 161 deletions(-)

Arquivos:
  - .jhonny/analises.db
  - admin/PremiereMCP.command
  - code/cep-plugin/index.html
  - code/cep-plugin/main.js
This commit is contained in:
João Henrique
2026-09-10 10:38:18 -04:00
parent b01482d0e7
commit e16244d68d
4 changed files with 35 additions and 161 deletions
+21 -36
View File
@@ -2151,11 +2151,13 @@ function silenceSelecionarTipoVideo() {
if (!tipo) {
document.getElementById("silenceTipoVideoInfo").textContent = "Selecione um tipo cadastrado para continuar.";
setStep(1, "ready", "Selecione um tipo");
setStep(2, "locked", "Selecione o tipo");
document.getElementById("btnBuildPlan").disabled = true;
return;
}
document.getElementById("silenceTipoVideoInfo").textContent = tipo.nome + " · instruções serão incluídas no JSON para a IA.";
setStep(1, "done", "Selecionado");
setStep(2, "ready", "Pronto para concluir");
document.getElementById("btnBuildPlan").disabled = false;
silenceLog("Tipo de vídeo selecionado: " + tipo.nome + ".", "ok");
}
@@ -2371,10 +2373,9 @@ function silenceLoadScannerAnalysis() {
info.textContent = silenceState.sequenceName + " · " + quantidade + " trecho(s) · " +
(audioDoBanco.metricas_de_voz_disponiveis ? "métricas disponíveis" : "métricas não realizadas") + " · " +
(audioDoBanco.diarizacao_disponivel ? falantes.length + " falante(s)" : "diarização não realizada");
setStep(3, "ready", "Pronto");
setStep(2, "locked", "Selecione o tipo");
setStep(1, "ready", "Selecione um tipo");
setStep(4, "locked", "Selecione o tipo");
setStep(5, "locked", "Bloqueado");
setStep(3, "locked", "Aguardando conclusão");
renderizarTiposDeVideoParaEdicao();
document.getElementById("btnBuildPlan").disabled = true;
// btnDiarize/btnVoiceFeatures/silenceDiarizeInfo/silenceVoiceFeaturesInfo ficavam no
@@ -2712,10 +2713,8 @@ function silenceDetectClip() {
// muda — evita aplicar um plano gerado para outro material.
function lockStepsFrom(first) {
var buttons = {
2: ["btnTranscribe"],
3: ["btnDiarize", "btnVoiceFeatures"],
4: ["btnBuildPlan"],
5: ["btnApplyEditorialActions"],
2: ["btnBuildPlan"],
3: ["btnApplyEditorialActions"],
};
for (var n = first; n <= 5; n++) {
setStep(n, "locked", "Bloqueado");
@@ -2769,8 +2768,7 @@ function silenceUseCachedTranscript() {
// Passos que dependem de existir uma transcrição, seja nova ou reaproveitada.
function unlockAfterTranscript() {
setStep(2, "done", "Transcrito");
setStep(3, "ready", "Opcional");
setStep(4, "ready", "Sua vez");
setStep(2, "ready", "Pronto para concluir");
document.getElementById("btnBuildPlan").disabled = false;
// btnDiarize/btnVoiceFeatures ficavam no step3 (legado, comentado em 2026-09-09).
var elBtnDiarize = document.getElementById("btnDiarize");
@@ -3264,14 +3262,6 @@ function silenceConcluirEdicao() {
configuracao: {
nome_do_tipo: silenceState.tipoVideo.nome,
instrucoes_do_tipo: tipoVideoResumoParaJson(silenceState.tipoVideo),
configuracoes_de_fala: speakerConfigurationForJson(),
configuracoes_de_edicao: {
remocao_de_silencio: {
habilitada: document.getElementById("silenceRemovalEnabled").checked,
duracao_minima_segundos: Number(document.getElementById("silenceRemovalMinDuration").value) || 0.8,
},
legendas: carregarConfiguracaoDeLegendas(),
},
transcricao: {
caminho: silenceState.transcriptPath,
origem: "Scanner",
@@ -3287,7 +3277,7 @@ function silenceConcluirEdicao() {
}
setBusy("btnBuildPlan", true);
setStep(4, "running", "Salvando…");
setStep(2, "running", "Salvando…");
taskStart("Concluindo a edição", "Salvando a configuração no banco");
silenceLog("Salvando o tipo de vídeo e as configurações editoriais no banco…");
runStreamed(
@@ -3297,14 +3287,14 @@ function silenceConcluirEdicao() {
function (codigo, ultimoErro) {
setBusy("btnBuildPlan", false);
if (codigo !== 0) {
setStep(4, "error", "Falhou");
setStep(2, "error", "Falhou");
taskEnd(false, "Não foi possível concluir a edição.", ultimoErro);
silenceLog("Falha ao salvar a configuração editorial.", "err");
showToast("err", ultimoErro || "Não foi possível salvar a edição no banco.");
return;
}
setStep(4, "done", "Edição concluída");
setStep(5, "locked", "Aguardando plano da IA");
setStep(2, "done", "Edição concluída");
setStep(3, "locked", "Aguardando plano da IA");
taskEnd(true, "Edição concluída e salva no banco.");
silenceLog("Edição concluída e salva no banco de análises.", "ok");
showToast("ok", "Edição concluída e salva no banco.");
@@ -3323,20 +3313,15 @@ function silenceGenerateJson() {
return;
}
setBusy("btnBuildPlan", true);
setStep(4, "running", "Gerando…");
setStep(2, "running", "Gerando…");
silenceLog("Gerando arquivo JSON para a IA…");
try {
var transcript = JSON.parse(fs.readFileSync(silenceState.transcriptPath, "utf-8"));
var silenceEnabled = document.getElementById("silenceRemovalEnabled").checked;
var minSilence = parseFloat(document.getElementById("silenceRemovalMinDuration").value);
if (!isFinite(minSilence) || minSilence < 0) minSilence = 0.8;
transcript.sequence = {
name: silenceState.sequenceName,
media_path: silenceState.mediaPath,
};
transcript.settings = Object.assign({}, transcript.settings, {
silence_removal: { enabled: silenceEnabled, min_silence_seconds: minSilence },
legendas: carregarConfiguracaoDeLegendas(),
});
transcript.speaker_configuration = speakerConfigurationForJson();
@@ -3361,13 +3346,13 @@ function silenceGenerateJson() {
document.getElementById("silencePlanInfo").textContent =
"Envie este arquivo a um agente de IA externo. Ele deve devolver o plano de edição em JSON para o passo 5.";
setStep(4, "done", "JSON pronto");
setStep(5, "ready", "Sua vez");
setStep(2, "done", "JSON pronto");
setStep(3, "ready", "Sua vez");
document.getElementById("btnApplyEditorialActions").disabled = false;
showToast("ok", "JSON gerado: " + path.basename(out));
silenceLog("JSON gerado em " + out + " (" + segCount + " trechos).", "ok");
} catch (e) {
setStep(4, "error", "Falhou");
setStep(2, "error", "Falhou");
showToast("err", "Falha ao gerar o JSON: " + e.message);
silenceLog("Falha ao gerar o JSON: " + e.message, "err");
}
@@ -3442,7 +3427,7 @@ function applyEditorialActions() {
if (typeof window.confirm === "function" && !window.confirm(summary)) return;
setBusy("btnApplyEditorialActions", true);
setStep(5, "running", "Aplicando…");
setStep(3, "running", "Aplicando…");
taskStart("Aplicando o plano de edição", "Criando backup da sequência");
silenceLog("Criando backup da sequência…");
cs.evalScript(
@@ -3457,7 +3442,7 @@ function applyEditorialActions() {
var caminhoDoPlano = path.join(silenceState.outputDir || os.tmpdir(), "plano-editorial-" + Date.now() + ".json");
try { fs.writeFileSync(caminhoDoPlano, JSON.stringify(plan, null, 2), "utf-8"); } catch (erroEscrita) {
setBusy("btnApplyEditorialActions", false);
setStep(5, "error", "Falhou");
setStep(3, "error", "Falhou");
taskEnd(false, "Não foi possível salvar o plano.", erroEscrita.message);
return;
}
@@ -3474,12 +3459,12 @@ function applyEditorialActions() {
processoAplicacao = null;
setBusy("btnApplyEditorialActions", false);
if (code !== 0) {
setStep(5, "error", "Falhou");
setStep(3, "error", "Falhou");
taskEnd(false, "Falha ao aplicar o plano (código " + code + ").", lastErr);
silenceLog("Falha ao aplicar o plano (código " + code + ").", "err");
return;
}
setStep(5, "done", "Aplicado");
setStep(3, "done", "Aplicado");
taskEnd(true, numActions + " ação(ões) aplicadas na timeline!");
silenceLog("Plano de edição aplicado com sucesso!", "ok");
}
@@ -4134,8 +4119,8 @@ function downloadModel(model, btn, approxMB) {
setStep(1, "locked", "Scanner");
setStep(2, "locked", "Scanner");
setStep(3, "locked", "Aguardando análise");
setStep(4, "locked", "Aguardando análise");
setStep(5, "locked", "Aguardando plano");
setStep(2, "locked", "Aguardando análise");
setStep(3, "locked", "Aguardando análise");
log("MCP for Adobe Premiere Pro CEP connector loaded");
setStatus("waiting", "Aguardando — a ponte está iniciando");