|
Deploy / Deploy (push) Successful in 1m40s
Details
|
||
|---|---|---|
| .bundle | ||
| .gitea/workflows | ||
| _data | ||
| _includes | ||
| _layouts | ||
| _posts | ||
| assets | ||
| metadata | ||
| mmp | ||
| scripts | ||
| src | ||
| venv | ||
| .gitignore | ||
| 404.html | ||
| Gemfile | ||
| Gemfile.lock | ||
| README.md | ||
| _config.yml | ||
| about.markdown | ||
| automation.html | ||
| bassline.html | ||
| creation.html | ||
| generate_mmp_data.py | ||
| index.md | ||
| instruments.md | ||
| instruments.md.old | ||
| mmp_files.md.old | ||
| mmp_pages.md | ||
| package-lock.json | ||
| package.json | ||
| pattern.html | ||
| plugin.html | ||
| projetosComMesmoInstrumento.md.old | ||
| projetosPorTrack.md | ||
| quantasVezes.md | ||
| readme.md | ||
| sample.html | ||
| upload_server.py | ||
| wavFiles.md | ||
readme.md
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.
📚 Discretização da informação
-
Para que a biblioteca de samples do
MMPCreatorseja inicializada, é necessário:cd scripts/creationspython generateManifest.py
-
Para que os projetos sejam indexados e as informações sejam geradas corretamente no
MMPSearché necessário:cd scripts/handlerpython main.py
Dessa forma, os arquivos de manifesto serão gerados, contendo as informações de cada projeto e seus parâmetros individuais. Além disso, os parâmetros de instrumentos também são capturados. A grande mágica está ai, pois contendo as informações de diversos projetos é possível efetuar buscas dentre estes, em diversas categorias.
👁️ 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
- **Tecnologia utilizada: ** Python
Funcionalidade:
Sempre que houver mudanças na pasta de samples, o serviço irá:
- Detectar alterações via
watchdog. - Executar um novo build do site.
- 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:
- Após qualquer modificação nas pastas de samples:
- O script atualiza os arquivos
samples-manifest.jsonemmp-manifest.json. - Os caminhos dos arquivos são ajustados para garantir exibição e execução corretas.
- O script atualiza os arquivos
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.
💻 Backend para controle das salas online (Colaboração)
Um serviço systemd foi criado para hospedar o backend de um servidor em nodeJS responsável por gerenciar as salas e a colaboração online:
- Serviço:
/etc/systemd/system/backend-MMPCreator.service - Nome do serviço:
backend-MMPCreator.service - Frequência: Tempo integral
- **Tecnologia utilizada: ** NodeJS
Funcionalidade:
- Seu intuíto é deixar o backend online em tempo integral, possibilitando a utilização da plataforma em qualquer momento.
- Para isso foi necessário inserir meu usuário no grupo de "ssl-cert" para acesso ao certificado
- Essa abordagem foi escolhida, pois a "não" utilização do apache traz algumas variáveis a mais para a implementação de um proxy reverso para a comunicação via wss e https nas salas.
Acesso:
http://127.0.0.1:33001
✅ 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
- Salas online e colaboração em tempo real
- Botões de modo global e local para controle do editor de samples (controla play/pause/stop, loop e janela de loop)
- Exibição de notificações em alterações nos projetos em tempo real
📋 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