feat: carregamento automático da análise do Scanner ao abrir a aba

- carregamento automático da análise do Scanner ao abrir a aba Refinar
- simplificada a aba Editar vídeo para exibir análises disponíveis sem carregamento manual
- movida a visualização do tipo de vídeo para a guia Projeto com leitura do banco

Resumo:
- 10 arquivos alterados
- 2 novos
- 8 modificados
- 0 removidos

 8 files changed, 114 insertions(+), 11 deletions(-)

Arquivos:
  - .jhonny/analises.db
  - code/cep-plugin/abas/projeto/projeto.js
  - code/cep-plugin/index.html
  - code/cep-plugin/main.js
  - code/engine/integracoes/audio/__init__.py
  - code/engine/integracoes/audio/modelos_de_analise_musical.py
  - code/engine/integracoes/audio/provider_de_analise_musical_essentia.py
  - code/engine/testes/test_analisador_de_musica_essentia.py
  - code/engine/consultar_edicao_concluida.py
  - code/engine/integracoes/audio/classificador_de_musica_essentia.py
This commit is contained in:
João Henrique
2026-09-10 13:30:10 -04:00
parent a4286bbd8a
commit 5644b42722
10 changed files with 305 additions and 11 deletions
@@ -10,6 +10,14 @@ from dataclasses import dataclass, field
from pathlib import Path
@dataclass(frozen=True)
class PontuacaoDeEtiqueta:
"""Representa uma etiqueta musical e a confiança calculada para ela."""
etiqueta: str
confianca: float
@dataclass(frozen=True)
class ResultadoDaAnaliseMusical:
"""
@@ -31,5 +39,7 @@ class ResultadoDaAnaliseMusical:
humores: tuple[str, ...] = field(default_factory=tuple)
instrumentos: tuple[str, ...] = field(default_factory=tuple)
etiquetas: tuple[str, ...] = field(default_factory=tuple)
pontuacoes_de_genero: tuple[PontuacaoDeEtiqueta, ...] = field(default_factory=tuple)
pontuacoes_de_humor: tuple[PontuacaoDeEtiqueta, ...] = field(default_factory=tuple)
provedor: str = "Essentia"
modelo: str | None = None