mmpSearch/readme.md

3.3 KiB

mmpCreator - Documentação Técnica


🛠️ Área de Desenvolvimento

O site está sendo desenvolvido em um ambiente virtual Python (venv). Para executá-lo corretamente, ative o ambiente com o comando:

source venv/bin/activate

Isso garante que todas as dependências do projeto sejam utilizadas corretamente.


👁️ Serviço de Monitoramento (Watchdog)

Um serviço systemd foi criado para monitorar alterações na pasta src/samples:

  • Serviço: /etc/systemd/system/mmpCreator-upload-server.service
  • Nome do serviço: mmpCreator-upload-server.service
  • Frequência: A cada 5 segundos

Funcionalidade:

Sempre que houver mudanças na pasta de samples, o serviço irá:

  1. Detectar alterações via watchdog.
  2. Executar um novo build do site.
  3. Atualizar automaticamente o conteúdo do site em tempo real.

Nota: O build atual está sendo feito apenas na parte de testes. Verificar e ajustar o caminho correto do build.


📤 Servidor de Upload de Samples

O servidor upload_server.py é responsável por receber arquivos de áudio (samples) para a plataforma. Ele é construído com:

  • Framework: Flask
  • Monitoramento: Biblioteca watchdog

Funcionamento:

  1. Após qualquer modificação nas pastas de samples:
    • O script atualiza os arquivos samples-manifest.json e mmp-manifest.json.
    • Os caminhos dos arquivos são ajustados para garantir exibição e execução corretas.

Acesso:

  • http://127.0.0.1:5000

⚠️ Importante: Avaliar a segurança do servidor antes de validar como ferramenta oficial do projeto. Atualmente está sendo usado apenas para testes.


Funcionalidades Já Implementadas

  • Criar projetos
  • Carregar projetos (do PC ou do servidor)
  • Salvar projetos (externamente)
  • Editar projetos existentes (sem alterar o original)
  • Utilizar metrônomo
  • Criar e excluir patterns
  • Alternar entre patterns em tempo real
  • Controle de volume e pan por pattern e por instrumento
  • Controle de volume e pan global
  • Alterar quantidade e formato de compassos
  • Alterar BPM
  • Exibir duração da pattern via timer

📋 TODO (Próximos Passos)

🛠️ Funcionalidades

  • Validar projetos MMP antes de aceitar uploads:
    • Verificar se os samples são nativos
    • Corrigir caminhos dos samples (evitar problemas de execução)
  • Permitir envio de samples gravados com microfone:
    • Executar e recortar antes de salvar no servidor
    • Gravar músicas diretamente na plataforma, mesmo sem mixagem
  • Ativar/desativar samples em patterns
  • Remover botões inúteis no controle de patterns
  • Melhorar documentação do código
  • Permitir alteração dos nomes das patterns (novos e existentes projetos)
  • Corrigir sistema de notas do projeto:
    • Incluir rastros da plataforma MMPCreator
    • Informações de autor e metadados
  • Criar atalhos de teclado:
    • Barra de espaço para play/pause
    • + e - para alternar entre patterns
  • Permitir alteração de nome de samples (⚠️ pode gerar duplicatas)
  • Verificar duplicidade de samples e projetos por nome
  • Resetar valores de botões via scroll do mouse
  • Ao salvar projeto:
    • Permitir escolha entre download ou salvar no servidor
    • Escolher nome do projeto