Files
jhonny-editor/code/engine/integracoes/audio/contratos.py
T
João Henrique a9e5b5ff58 feat: copiada a skill editar-por-voz e seus critérios para as skil
- copiada a skill editar-por-voz e seus critérios para as skills do projeto
- adaptada a skill editar-por-voz para usar o banco SQLite como fonte oficial
- corrigida a cópia do JSON do tipo de vídeo para priorizar clipboard Unicode
- criado carregador único do contexto de edição por voz a partir do SQLite
- criada entrada para registrar planos no SQLite e reaproveitar o mesmo plano na aplicação
- habilitado carregamento do plano editorial diretamente do SQLite na interface
- corrigido o bloqueio visual da etapa de carregamento do plano salvo
- configurado carregamento automático do plano salvo após selecionar a sequência
- documentada a sequência como raiz de retomada do fluxo de edição
- criada a estrutura local para análise de músicas instrumentais com Essentia

Resumo:
- 22 arquivos alterados
- 11 novos
- 11 modificados
- 0 removidos

 11 files changed, 270 insertions(+), 34 deletions(-)

Arquivos:
  - .jhonny/analises.db
  - CONTEXT.md
  - code/cep-plugin/index.html
  - code/cep-plugin/main.js
  - code/engine/README.md
  - code/engine/aplicar_plano_de_edicao.py
  - code/engine/integracoes/audio/__init__.py
  - code/engine/persistencia/consultas.py
  - code/engine/requirements-audio.txt
  - code/engine/testes/test_consultas_de_persistencia.py
  - code/tests/cep-tipos-video-encoding.test.ts
  - code/.jhonny/
  - code/engine/carregar_plano_de_edicao.py
  - code/engine/integracoes/audio/contratos.py
  - code/engine/integracoes/audio/modelos_de_analise_musical.py
  - code/engine/integracoes/audio/provider_de_analise_musical_essentia.py
  - code/engine/preparar_edicao_por_voz.py
  - code/engine/registrar_plano_de_edicao.py
  - code/engine/testes/test_analisador_de_musica_essentia.py
  - code/engine/testes/test_carregar_plano_de_edicao.py
  - code/engine/testes/test_registrar_plano_de_edicao.py
  - code/plugins/premiere-pro/skills/editar-por-voz/
2026-09-10 13:09:01 -04:00

33 lines
941 B
Python

"""
Contratos para provedores de análise musical.
O contrato permite que a aplicação use Essentia, um dublê de teste ou outro
provedor no futuro sem conhecer detalhes de carregamento e classificação.
"""
from pathlib import Path
from typing import Protocol
from .modelos_de_analise_musical import ResultadoDaAnaliseMusical
class AnalisadorDeMusica(Protocol):
"""Define a operação necessária para analisar um arquivo musical."""
def analisar(self, arquivo: str | Path) -> ResultadoDaAnaliseMusical:
"""
Analisa um arquivo de música e devolve seus descritores internos.
Parâmetros:
arquivo: Caminho de um arquivo de áudio existente.
Retorna:
Resultado estruturado da análise musical.
Pode gerar:
FileNotFoundError: quando o arquivo não existir.
RuntimeError: quando Essentia não estiver instalado.
"""
...