From dd341e7d4c570b6a4660ce33fba9c31f15d0fd5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Henrique?= Date: Thu, 10 Sep 2026 16:04:15 -0400 Subject: [PATCH] feat: Instalado essentia-tensorflow no venv whisperx-transcricao ( MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Instalado essentia-tensorflow no venv whisperx-transcricao (usado pelo painel CEP), corrigindo erro "A classificação musical precisa do suporte TensorFlow do Essentia" no catálogo de trilhas. - Ligada a classificação de emoção da fala (ProviderDeEmocaoHuggingFace) ao scanner via nova flag `classificar_emocao`, e adicionado emoção/confiança como critério de desempate secundário no zoom da skill editar-por-voz. - Zoom do caminho Python (aplicar_plano_de_edicao.py) passou a usar adjustment layer numa faixa de vídeo própria, em vez de escalar o clipe inteiro via set_clip_properties — mesma técnica já usada pelo executor .mjs do painel CEP. - Adicionado campo "Carregar por ID" na aba Editar Vídeo do painel CEP (step 2), para carregar um plano do SQLite direto pelo plano_id quando ele não está associado a nenhum video_id conhecido (ex.: plano de um vídeo que este banco nunca escaneou). - Trocado o campo de ID numérico por uma lista suspensa (novo listar_planos_de_edicao.py + RepositorioDePlanos.listar_todos_os_planos) que mostra data/hora e a intenção registrada pela skill em cada plano salvo, para escolher sem decorar o id. Resumo: - 15 arquivos alterados - 2 novos - 13 modificados - 0 removidos 13 files changed, 451 insertions(+), 65 deletions(-) Arquivos: - .jhonny/analises.db - code/cep-plugin/index.html - code/cep-plugin/main.js - code/engine/editor/aplicador_de_plano_de_edicao.py - code/engine/editor/escrita/escrita_no_editor.py - code/engine/executar_scanner.py - code/engine/persistencia/repositorio_de_planos.py - code/engine/scanner/configuracao_visual.py - code/engine/testes/duplos_de_premiere.py - code/engine/testes/test_aplicador_de_plano_de_edicao.py - code/engine/testes/test_escrita_no_editor.py - code/plugins/premiere-pro/skills/editar-por-voz/criterios/01-leitura-do-json.md - code/plugins/premiere-pro/skills/editar-por-voz/criterios/05-zoom.md - code/engine/listar_planos_de_edicao.py - code/engine/testes/test_configuracao_visual_do_scanner.py --- .jhonny/analises.db | Bin 1155072 -> 1163264 bytes code/cep-plugin/index.html | 8 ++ code/cep-plugin/main.js | 127 +++++++++++++++- .../editor/aplicador_de_plano_de_edicao.py | 69 ++++++--- .../editor/escrita/escrita_no_editor.py | 68 ++++++--- code/engine/executar_scanner.py | 12 +- code/engine/listar_planos_de_edicao.py | 42 ++++++ .../persistencia/repositorio_de_planos.py | 30 ++++ code/engine/scanner/configuracao_visual.py | 6 + code/engine/testes/duplos_de_premiere.py | 136 ++++++++++++++++-- .../test_aplicador_de_plano_de_edicao.py | 36 +++-- .../test_configuracao_visual_do_scanner.py | 28 ++++ code/engine/testes/test_escrita_no_editor.py | 4 +- .../criterios/01-leitura-do-json.md | 7 + .../editar-por-voz/criterios/05-zoom.md | 11 ++ 15 files changed, 520 insertions(+), 64 deletions(-) create mode 100644 code/engine/listar_planos_de_edicao.py create mode 100644 code/engine/testes/test_configuracao_visual_do_scanner.py diff --git a/.jhonny/analises.db b/.jhonny/analises.db index 2233535a53a4c64f93a5fa0f717fe6e00f450cf8..57cfc7dc54618da915bdcb8850a07f958978eb9c 100644 GIT binary patch delta 6090 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 nS%H`hh}nUd1Bf|+m

O plano editorial pendente será carregado automaticamente da sequência selecionada.

+ +

Use quando o plano não está associado a esta sequência no banco (ex.: vídeo de outro projeto/pasta) — cada item mostra data/hora e a intenção que a skill registrou, sem precisar adivinhar o número do id.

+
+ + + +
+